


Latent Space

by sierra_roe



Category: Silicon Valley (TV)
Genre: Angst with a Happy Ending, Angst with a side of smut, Artificial Intelligence, DIY Therapy, Determinism, Emotional Constipation, Free Will, Internalized Homophobia, M/M, More plot than porn, Near Future, Non-Linear Narrative, Pining, Post-Canon, Slow Burn, Story within a Story, actual AI concepts that aren't exactly possible yet but definitely could be soon, emotional whiplash, if you like soft dinfoyle this is not the fic for you, it's not exactly toxic masculinity but it's not healthy either
Language: English
Status: In-Progress
Published: 2020-11-15
Updated: 2021-03-09
Packaged: 2021-03-10 04:28:59
Rating: Mature
Warnings: No Archive Warnings Apply
Chapters: 20
Words: 29,722
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/27568303
Author URL: https://archiveofourown.org/users/sierra_roe/pseuds/sierra_roe
Summary: If you turn left instead of turning right, how many times does the universe branch?It had been six years of working together. Six years of sexual tension, and no one ever made a move. But what if someone had? How many worlds would have been created? How many of those worlds would have ended in heartbreak?Post-finale, Gilfoyle builds an AI dating simulation to figure out how things could have gone differently.Near-future sci-fi in the vein of Her, Black Mirror, or Devs, but with a more optimistic bent.
Relationships: Dinesh Chugtai/Bertram Gilfoyle
Comments: 113
Kudos: 54





	1. Chapter 1

> `**Latent;** _adjective:_ (of a quality or state) existing but not yet developed or manifest; hidden or concealed.`
> 
> `**Latent Space;** _noun:_ in the field of artificial intelligence and machine learning, this term refers to an abstract multi-dimensional space generated by an AI based on externally observed events.`

* * *

Of all the things Dinesh had ever done to annoy Gilfoyle, the worst was when he started getting hot.

“You prick,” Gilfoyle had said under his breath when he realized what was happening, being careful that Dinesh couldn’t hear him.

Pied Piper had gone under a few months ago, and the two of them were taking a well-deserved break from work. Although they’d decided to start a company together, they’d both made a pact not to get back into it right away, to give themselves some mental space. Gilfoyle had been working on personal coding projects, experiments with new machine learning methods. Dinesh had been using his time going to the gym. It had turned out that when he didn’t have code to work on, he had a lot more energy to throw at other things, and he had gradually turned into a full-on gym rat, protein shakes and all.

They lived in different apartment buildings now, but the two of them would usually hang out a couple times a week over a coffee or beer or a video game. It wasn’t just that Dinesh was in better shape now, it was that the combination of being free of Pied Piper and his new routine seemed to have made him a little more confident, more comfortable in his own skin, a little less affected by Gilfoyle’s insults. Gilfoyle respected that. He’d been trying to toughen Dinesh up for a long time, but he hadn’t realized that it would take the collapse of the startup that had been fed on their blood, sweat and tears for all his hard work crafting insults to finally pay off.

Gilfoyle felt that he couldn’t really be blamed for this stupid sudden attraction. It was Dinesh’s fault for getting hotter and more confident at the same time. Why would he do that to Gilfoyle? It was like that dick didn’t respect him at all. Gilfoyle also noticed that his _own_ dick seemed to be disrespecting him, as it would occasionally get hard when thoughts of New Dinesh popped into his head when he was trying to focus on other things. Gilfoyle was equally pissed at both of them.

He wished that it hadn’t taken something as superficial as a new physique to make the attraction un-ignorable like this. It felt like a betrayal of his principles. Gilfoyle liked to think of himself as someone who could be attracted to anyone regardless of arbitrary markers like gender or body type… right? But on the other hand, one of the cardinal sins of Laveyan Satanism was bad aesthetics so maybe he could chalk it up to Dinesh finally improving his aesthetic state.

The thing was, Gilfoyle had pretty much had some underlying attraction to Dinesh the entire time he’d known him. It was just harder to ignore now that Dinesh had gotten overtly hot. Gilfoyle had known the feeling was there for a while, but for a number of reasons, he’d never acted on it. Part of it might have been that they already lived and worked together, but that wasn’t even the most important reason. Gilfoyle was 90% sure that Dinesh would have a lot of trouble getting over “the gay thing,” for one, and he wasn’t sure that he was up for being Dinesh’s first introduction to gay stuff. It seemed like it would require a lot of hand-holding, both literally and figuratively. Dinesh seemed like someone who would want to do a lot of talking about their relationship all the time. Even the thought of that made Gilfoyle shudder a little.

On some level, Gilfoyle was pretty sure that Dinesh also found him attractive as well, in his own kinda-repressed Dinesh-way. In the same way that he could almost always spot it when people were lying, he could usually tell when someone found him attractive. The signs were subtle, but they were there, Dinesh getting a little too flustered when he saw Gilfoyle in a towel after a shower, or, for some unknown reason, when he was wearing his novelty cat eye contacts.

A couple times when he was horny and they were still living together, Gilfoyle had considered what would happen if he just went over and knocked on Dinesh’s door. Maybe he wasn’t giving Dinesh enough credit. Maybe he’d totally be into it. But even if he was, Gilfoyle didn’t feel like he’d want a capital-R _relationship_ with Dinesh. He wished that he knew the version of Dinesh who was more like himself, a person who could have casual sex with a friend sometimes without it having to be a big deal. But he was pretty sure that version of Dinesh didn’t exist in this reality, and might not exist anywhere in the multiverse. Gilfoyle usually put his own needs first, but you had to draw the line somewhere, and Gilfoyle drew it at potentially hurting someone he was close to. Playing with Dinesh’s heart would be too cruel, even for him. Although most people didn’t see it, Gilfoyle had a moral code that was clear to him, and he knew where the line was. He would never do anything to harm someone he was close to. All the jokes at Dinesh’s expense, the interactions that seemed antagonistic on the surface, those things didn’t come anywhere near to crossing the line. Occasionally Dinesh would get upset about something Gilfoyle had done but he’d always shake it off in a day or so. But Gilfoyle knew that if he did something this big, it would be different. Friendship-ending different.

Gilfoyle recalled a conversation with Tara that had taken place a few years ago.

“If you’re so into this guy, why don’t you make a move?” she had asked while they were Skyping. It was early days, when he and Dinesh had just met.

“I don’t know. I can’t put my finger on why, but something about it feels like it wouldn’t work.”

Later, he had been able to put his finger on it. It was because it would have almost certainly gone disastrously wrong in one way or another. Gilfoyle wasn’t usually one to ignore his base urges, but in this case, he was glad they’d been overruled by his intuition.

Somehow, that time a few months later when she’d visited them at the incubator, she’d talked him into that compersion scheme, a way for him to get closer to Dinesh through her. Gilfoyle was on board at first, but at the last minute, something made him pull back, tell Tara she had to call the whole thing off. “Seriously, just pretend you don’t know anything about it. He’ll buy that I was just fucking with him.” And of course Dinesh did. He appreciated that Tara was trying, for him, but something felt wrong about it.

**Notes for the Chapter:**

> I’m secretly a terrible dinfoyle shipper, because when I think about them as a couple, I start to think about all the ways I see their relationship crashing and burning. That was the kernel of an idea that spawned this concept. I decided that since I couldn’t figure out a solution to the problem, I might as well make these characters address it head-on and sort it out themselves. (Even if they have to build a complex AI system to do the emotional heavy lifting for them, as we’ll see.)


	2. Chapter 2

Gilfoyle was hacking away on some coding projects one day when his phone buzzed with a text. It was Dinesh, of course. No one else texted him. Gilfoyle picked up the phone and looked.

_Dude._

The fuck was that message? That wasn’t anything. He dropped the phone and went back to his coding.

His phone immediately buzzed again. His eyes flicked to it involuntarily.

_Are you home right now?_

This habit of skirting around whatever it was that Dinesh actually wanted always drove Gilfoyle a little nuts. He stared at his computer while he considered ignoring it out of spite, but he found himself reaching for his phone anyway.

 _What do you want,_ he responded.

Immediately, the notification popped up that Dinesh was typing. It went on for a while, which gave Gilfoyle time to think about how ridiculous it was that Dinesh hadn’t disabled that feature on his phone. That man had no concept of privacy sometimes.

_Okayyyyy so this super crazy thing just happened! This pipe broke in my gym and it’s totally flooded! They had to close it and they don’t know when they’re opening up again._

Great, a whole paragraph about something that Gilfoyle didn’t care about. However, it was followed almost immediately by:

_Uh so can I come over and use the gym in your building?_

Gilfoyle rolled his eyes.

 _I don’t give a shit what you do,_ he responded.

Shortly after that, almost suspiciously shortly, as if Dinesh had driven half the way over before realizing he should text first, he arrived at Gilfoyle’s door. Gilfoyle gave him the keycard for the gym, a keycard that he had gotten when he moved in but never actually used, and went back to his coding.

About an hour or so later, he was interrupted by a knock on his door and opened it to find a very sweaty Dinesh.

“Hey, is it okay if I use your shower? I hate gym showers, I always feel like I’m going to pick up a foot disease or something.”

Gilfoyle stepped back to let him in, “Spare towels are on the top shelf in the bathroom closet.”

Gilfoyle went back to his computer, although not without sneaking a glance at Dinesh’s retreating back. Something about Dinesh dripping sweat was actually a little pleasant, if he let himself think about it, which he _definitely_ did not.

A few minutes later, he heard water running, and Dinesh start singing, loudly and out of key. Well, if he’d been afraid he was going to get hard over sweaty Dinesh, he no longer had that fear. Gilfoyle tried to shoot daggers through the bathroom door with his eyes, but when it became clear that was having no effect, he put on a death metal playlist and cranked up his speakers, neighbors be dammed. He was doing them a favor really, if he stopped them from having to hear Dinesh.

“Hey Gilfoyle, do you want to play Call of Duty?” Dinesh called as he emerged from the bathroom after his shower. He was behind Gilfoyle, and Gilfoyle didn’t bother to look around as he responded.

“Yeah, sure–” Gilfoyle turned and froze. Dinesh was wearing a towel and nothing else. He had visible abs. _Fuck!_ Gilfoyle was somehow living in a bizarro world where Dinesh had abs.

Dinesh seemed to notice Gilfoyle noticing his body, because his mouth twitched like he was trying to hide a smile. Gilfoyle half expected him to start giving him shit, but he just sat down on the couch and picked up a controller.

“I’d tell you that I have a house rule that you have to be fully clothed to sit on my couch but I think we’d both know that’s a lie.” Gilfoyle said, sitting down beside him and focusing his attention on getting the game set up to avoid having to look at him.

“Gross, I don’t even want to think about how many times your sweaty balls have touched this couch,” Dinesh responded.

It turned into a routine, Dinesh coming over to use the gym, showering, then hanging around Gilfoyle’s apartment for a bit, half naked. It was putting Gilfoyle through hell, but not in a fun way. Although, on some level, he supposed he might be enjoying parts of it. It was torturous, but Gilfoyle wasn’t above being tortured, if he was being honest with himself. He just wished he had a little more self control to stop himself from noticing details he liked about Dinesh, like the leg hair on his thighs that was revealed sometimes when the towel slipped a bit as he sat on the couch. Gilfoyle realized to his shame that he had it really bad, getting all boned up over something like _leg hair,_ of all things.

Every time Dinesh came over to hang out, when he left, Gilfoyle’s mind would start turning over the possibilities. Sure, he would love to make a move, and he had a strong hunch that Dinesh would be receptive, but what would happen after that? He had a strong feeling that it couldn’t just be a casual fuck-buddy situation, best friends who occasionally sucked each others dicks. With someone else, maybe he could have done that, but he was pretty sure that kind of attitude toward sex ran contrary to how Dinesh was wired on a deep level. So if casual sex was out, that would leave dating, but a Muslim dating a Satanist?

He wondered if Dinesh would want to bring him home to meet the family for Ramadan. Was Ramadan even the holiday that you bring your boyfriend home for? Gilfoyle didn’t know and he was too embarrassed by his ignorance to Google it, let alone ask Dinesh. He couldn’t imagine having his first introduction to the Chugtais be an entire month of fasting with them. Without alcohol, no less! Come to think of it, he didn’t even know if Dinesh’s family was progressive or conservative. Would they be open to Dinesh bringing a man home for whatever the appropriate holiday was? Another thing he had no idea about and was too embarrassed to ask.

Either way, Gilfoyle couldn’t think of any way the two of them could end well. So it was probably best to leave well enough alone, suffer in silence and hope that the crush would burn itself out naturally.

The crush burning itself out naturally didn’t go too well, as it turned out.


	3. Chapter 3

**Notes for the Chapter:**

> …and there were TWO beds!

_Dinesh was in Gilfoyle’s shower again, his off-key singing audible above the sound of the running water. Gilfoyle stood and walked into the kitchen, where he was irritated to discover two huge jars of protein powder on the counter._

_“Enough is enough,” he said out loud. He unscrewed one of the jar lids and raised it to dump it down the drain._

_“Woah, what are you doing?” Dinesh appeared behind him, wearing only a towel, body still glistening with water droplets from the shower._

_“Stop leaving your fucking ‘brotein’ powder all over my apartment, bro,” Gilfoyle said._

_“Well, don’t just throw it out,” Dinesh grabbed for the jar, but Gilfoyle was quick and snatched it away from him, still angling to dump it into the sink. Dinesh grabbed it back, and it turned into a tussle that ended up with Gilfoyle pinned against the counter. Who was he kidding, there was no way he was going to win a physical fight against Dinesh these days. The friction of Dinesh’s hips pressing him into the counter felt amazing, though. His dick noticed it too, and responded. Unfortunately, Dinesh noticed it at the same time, and sprung away from him._

_“What the fuck, dude?” Dinesh asked, appalled._

Gilfoyle woke up in a cold sweat, a lethal combination of aroused, lonely, and depressed. This kind of dream had been happening with alarming regularity. His thoughts were even drifting to the topic when he was trying to get other things done. After thinking through – _or was it jerking off through?_ – several different scenarios of how it might go, he was still no closer to solving it. A normal person might have talked to a close friend or a therapist about it, but Gilfoyle never considered himself a normie. Plus, he only had one friend, and he certainly couldn’t talk to him about _this_.

Gilfoyle wanted it to happen. _Fuck,_ did he want it to happen. His subconscious was making it blatantly clear through his dreams, as if the way his eyes were constantly drawn to Dinesh’s luxurious leg hair hadn’t already tipped him off. In a way, it was hard to believe they’d gone this long with nothing happening.

Although, there had been one time… one time that something had _almost_ happened.

_— Three Years Ago, at Keenan’s House —_

“Oh, you changed back into your clothes…” Dinesh was standing there, in his stupid blue satin pajamas, looking disappointed as he saw Gilfoyle leaving the bathroom, back in his everyday jeans and flannel.

“For the record, this?” Gilfoyle made a broad gesture that encompassed the two of them and Keenan’s house, “None of this ever happened, are we clear?” What the fuck had Gilfoyle been thinking. What the fuck. All of this was wrong.

“Yeah, sure… we’re clear.” Dinesh was doing that thing where he tried to act normal, and failing badly. Gilfoyle could see his eyebrows twitching with the strain of it.

 _“Gilfoyle, look at yourself! You’re wearing the same pajamas as Dinesh! You’re using the word rad!”_ When Richard had said that, it had been like a splash of cold water to the face, washing away the past three days’ accumulation of Keenan-cruft.

The thing was, Gilfoyle had kind of felt it happening, felt himself being pulled in, and he let it happen. That roly-poly fuck must be using some next level dark magic to have that kind of power. On some level though, it had felt refreshing to be _not-Gilfoyle_ for a weekend, to let his guard down and unabashedly enjoy things. That was where the problem had started, of course. It hadn’t only been things like getting excited about beer on tap, or a video game, or building a better VR engine, it had spilled over to… other things. Things that should have been off limits. But somehow all rules were off inside the vortex.

The rules that normally defined the type of conversations and interactions the two of them were allowed to have, those rules didn’t quite apply anymore. And the rules governed the levels of physical contact between him and Dinesh, the rules that would have stopped things from going any further than a platonic pat on the shoulder, those rules had gotten a little… mushy… inside the vortex.

No one ever expected it of him, but Gilfoyle was naturally a physically affectionate person. He was just careful of how he directed that energy, because over his thirty-some-odd-years on this planet, he had learned the hard way that physical affection could lead at first to misunderstandings and eventually to precisely the type of big emotional conversation that he made a point of avoiding. 

_— Friday Night —_

Friday night had started out normally enough. After Richard and Jared left, Dinesh and Gilfoyle had dicked around with Keenan’s VR demo for a bit while they drank beer, then moved on to the other VR games in Keenan’s collection. A couple hours into Beat Saber and Keenan was ordering pizza and saying, “You guys can just crash here if you want. I’ve got, like, so much room in this place I don’t even know what to do with it!” Normally Gilfoyle and Dinesh would have looked at each other for confirmation before agreeing, but Dinesh had the VR headset on at the time, and he was swinging the controller, smashing flying virtual blocks, so he just yelled out, “Yeah! Let’s do it! You in, Gilfoyle?” and Gilfoyle had shrugged and agreed. Why not. They were all having a good time.

Keenan had bought the place furnished, which explained the slightly odd decor choices. “Yeah, they said the furniture was only there for the showing, but it turned out they’d throw it in with the sale if I just paid a bit more! I figured it saves me some trouble, right?” he’d told them proudly while he was giving them the full tour of the place. Keenan had not one, but two, guest bedrooms in his finished basement. They were currently doubling as storage space for boxes of company swag and various components from prototype VR rigs.

“Oh hey, do you guys need a change of clothes?” Keenan said offhandedly as they all moved boxes off the beds so Dinesh and Gilfoyle would have a place to sleep, “Check this out!” He set the box down that he’d been holding and opened it up. “Pajamas!” The box was full of them.

“Pajamas?” Dinesh asked skeptically.

“Yeah!” said Keenan, dumping the box out on the floor. “For some reason this pajama company wanted to advertise in my game! And it went so well that they sent me a ton of their product for free! Have at it, guys! Just take some, I’ve got way too many of these things!”

Gilfoyle and Dinesh looked at each other.

“I mean, it’s free clothes,” Dinesh said, seeing Gilfoyle’s instinctive look of revulsion.

Gilfoyle narrowed his eyes, but Keenan had already pawed through the pile and found their sizes. “Here, just take them! You’d be doing me a favor, seriously!” Keenan said, pressing the pajamas into each of their hands.

“I suppose I don’t care _that_ much about how my corporeal form is clothed,” Gilfoyle said, relenting and taking the pajamas from him.

“Hey, it saves having to do laundry, right?” Dinesh said.

After they’d changed, Gilfoyle had to admit that the pajamas were pretty comfortable. Comfortable things were practical, and Gilfoyle valued practicality above a lot of things in this world.

“There you go! You guys look great! The compression dream team! Here to make my VR fast as _shiiiit!_ You guys fucking rule!” Keenan had enthused when he saw them in their ridiculous matching sets. Dinesh had preened under the attention. Gilfoyle hadn’t, exactly, but he did find the whole thing amusing. And maybe in a way, it felt good to hear that kind of unrestrained enthusiasm. Maybe. Just a little.


	4. Chapter 4

**Notes for the Chapter:**

> i was originally going to post this chapter a bit sooner, but I ended up doing a last minute re-write of the entire thing, so anything i may have alluded to in comments is probably invalid. thank you so much to everyone who takes the time to comment, it’s been helping me a lot to think about this work in ways i hadn’t considered before. even if it’s a really simple comment, i promise i am thinking about it and it’s probably caused me to have some new idea for this work. (and sometimes rewrite a chapter or two, but i’m not complaining)

_— Keenan’s House, Saturday —_

“Hey, you remember that thing Keenan said last night?” It was almost the first thing that Dinesh said to Gilfoyle when they got up in the morning and went upstairs to the kitchen to track down some coffee. “Why did he say that thing about us making his VR fast? I know I was drinking, but I don’t think I was drunk enough that I’d forget a conversation about us working on his VR.”

Gilfoyle grunted in the affirmative. “Yeah. Now that you mention it, that _was_ a weird thing to say.”

“Shit, I think he’s coming,” Dinesh whispered, “Do you think he heard us?”

“Morning guys! How’d you sleep? Were the beds okay? I was a guest on a podcast literally one time and now all the sponsor companies won’t stop sending me mattresses!” Keenan bounced into the kitchen with his usual excess of energy, “Hey, I’m gonna put in a breakfast order, what do you guys want? I’m thinking breakfast burritos from this sick Mexican place I know. You guys in? Yeah you are! Let’s eat some fuckin’ breakfast burritos, am I right?”

“Can’t say no to a good burrito,” Gilfoyle said.

Keenan was right about the Mexican place. The burritos turned out to be great. Of course, while they waited for the delivery to arrive, they ended up messing around with the VR demo a bit more. It was just as good in the morning as it had seemed the night before. At least Keenan had the common decency to wait until after they’d eaten to pop the question.

“Hey, so I’ve been thinking. you guys have this sweet compression algorithm, right? Hear me out on this, what if we could use your compression to speed up the VR? Just hypothetically, you think it might work?”

A look passed between Gilfoyle and Dinesh.

“I don’t know if Richard would want us…” Dinesh began.

“Listen guys, I’m just talking in hypotheticals here, like wouldn’t it be cool if it _theoretically_ might work. Don’t worry about Richard, we’re just spitballing. Let’s talk blue sky ideas here, anything goes.”

“I never worry about Richard,” Gilfoyle said.

“I mean, it _might_ work,” Dinesh said.

And somehow, even knowing what Keenan was angling towards, he managed to draw them into the discussion. He brought them over to the white board, and they got excited enough diagraming the architecture of the system that one thing led to another and somehow it wasn’t just a hypothetical anymore, they had their laptops open and they were hacking together some ideas, just rough ideas, just a proof of concept, just to see if it would actually work. And then the proof of concept did work, and Dinesh noticed a place where you could optimize it just a little more and cut out some inefficiencies, and then when Keenan kept repeating “You’re doing it!” well, he was right, they were doing it. 

They worked on the project for most of Saturday, pausing only for takeout meals, and even then, eating one handed as they coded or drew on the whiteboard. The rush of ideas was intoxicating, as it always was, and it was like the best times coding with Dinesh, when the two of them fell into sync, and they were able to do things that would take normal coders weeks to complete.

In the evening, after they ate dinner, Keenan said, “Oh hey, you wanna do something different tonight? Let me show you this thing I just ordered!”

Keenan left the room and returned a minute later carrying…

“Is that a _karaoke machine?_ ” Dinesh practically yelled.

“Hey, I had a feeling you guys might be into karaoke! Let’s do it!”

“You guys go ahead, I’ll just sit this one out,” Gilfoyle stood up, intending to leave the room, but Dinesh grabbed his arm.

“C’mon, just stay for a couple songs,” Dinesh said.

And of course, Keenan joined in with the persuasion and although Gilfoyle was normally impervious to peer pressure, he let himself get talked into staying, and then somehow, singing too. He didn’t even hate it that much. He didn’t even bother to pretend that he hated it. 

After Keenan went to bed, the two of them remained in the living room.

“I can’t believe you finally did karaoke with me,” Dinesh said, “Not to be cheesy or anything, but seriously, thank you for that. I never thought I’d see the day.”

Gilfoyle didn’t have his usual internal fire of spite and sarcasm burning anymore. Keenan’s numbing influence had extinguished it. All he could manage to get out was, “Yeah, well, don’t expect me to make a habit of it.”

They put on a movie and some time after 3 am, Gilfoyle looked over, and saw Dinesh on the other side of the couch, head nodding, phone about to slip out of his hand. Gilfoyle stood up and grabbed it in midair just before it before it hit the ground. He nudged Dinesh with his knee. “Just go to bed already.”

Dinesh muttered something incomprehensible.

“Seriously, I know how much you drool when you sleep and drooling on Keenan’s couch seems like bad form.” He grabbed Dinesh’s arms to pull him to his feet. It was like trying to move a drunk person, but Dinesh hadn’t even been drinking. Somehow he got him up, and with an arm around him, managed to get him headed in the direction of the guest bedroom. Maybe the reason Dinesh was such a lightweight when he did drink was that he was basically a drunk even when he was sober.

When he got him into the room and tried to drop him into bed, for some reason Dinesh hung on to Gilfoyle, managing to unbalance him and send him stumbling onto the bed as well.

Gilfoyle looked at the back of Dinesh’s head. Dinesh was still a dead weight, and hadn’t moved from where he had landed, one arm draped over Gilfoyle.

“Just stay here a minute,” Dinesh mumbled without turning his head.

Gilfoyle knew plausible deniability when he saw it, but he couldn’t ignore the comforting solidity of Dinesh’s body next to his, so he stayed where he had fallen, listening to his breathing grow deeper and more regular, until it lulled him to sleep as well.

In the morning, he woke up before Dinesh and slid out from under his arm, taking care not to wake him. It was better this way, to leave before there was a chance of anything going further, or of Dinesh waking up and getting awkward about seeing Gilfoyle next to him in bed in the light of day.

Gilfoyle quietly picked his way around the boxes on the floor. He went upstairs to the kitchen, made coffee and waited for Dinesh to wake up, wondering if he’d acknowledge what had happened.

The answer to that question turned out to be no. Gilfoyle couldn’t tell if he was purposefully being evasive or if he had really been tired enough that he didn’t remember. Either way, he figured that it was best not to bring it up. They got back to work on their project. There was plenty of code to write, plenty of problems to keep them occupied, and plenty of things to talk about that weren’t what had happened last night, especially when Keenan woke up and joined them, full of his usual bubbly energy and good humor.


	5. Chapter 5

_— Keenan’s House, Sunday —_

By mid-day Sunday they were well into the rhythm of it, ordering takeout, whiteboarding and pushing code. The novelty of working with a new hardware system was an enjoyable puzzle for the both of them to work through. It was like the feeling they’d gotten when they accidentally helped Richard to crack middle-out during TechCrunch Disrupt. And it didn’t hurt that Keenan was always there, cheering them on and telling them how talented they were and how great the game was going to be with their help.

“If you keep telling Dinesh he’s a good coder, he’s going to start believing it,” Gilfoyle warned him, but Keenan just laughed it off.

By the end of the day they had finalized a good-enough build of the new and improved demo game. It wasn’t perfect by any means and there were plenty of bugs still to work out, but once they’d implemented Pied Piper’s compression, the whole thing had sped up and the lagginess smoothed itself out remarkably well. It was an incredibly satisfying feeling to see something come together so well over just one weekend.

Gilfoyle wasn’t totally sure, since it wasn’t normally on his emotional landscape, but he thought that the feeling he was experiencing was a feeling of sustained contentment. Well, if you could count two and a half days as sustained, which Gilfoyle decided, in a bout of uncharacteristic positivity, that he did.

They finally took a much needed break. The fast-paced work had been satisfying, but intense.

“I’ve gotta say, this is some sexy code we wrote,” Dinesh said, looking it over.

“For once, I have to say I agree with you.” Gilfoyle said.

“What, are you saying you’re gay for _my_ code now? I’m flattered.”

“Maybe a little,” Gilfoyle said, and winked. He had no idea where that came from. It was somehow simultaneously delivered so smoothly while being so unexpected that Dinesh burst out laughing.

“You guys are having a great time with this!” Keenan said, “Hey, you wanna take a break from code for a bit? I have this server room I’m working on…”

With anyone else, it would have been an annoying request for manual labor, but because it was Keenan, and because they were both a little sick of being hunched over their keyboards at this point, and because Dinesh finally, finally got Gilfoyle to agree to let him help out, they started working on building the server racks for Keenan. And then they had to move some servers around and unbox them. It was hard work, but it was relieving to move their muscles after sitting for the whole weekend, and Dinesh was almost comically excited to be allowed to finally set up a server with Gilfoyle. Gilfoyle could tell he was trying to hide it, but he kept smiling to himself when he thought Gilfoyle wasn’t looking. It was kind of cute, honestly. Dinesh turned out to be better at setting up the server racks than Gilfoyle expected. They were both sweaty and exhausted by the time they finished.

Gilfoyle wasn’t sure what it was exactly that made him do the thing he did next, but when he saw a bead of sweat running down Dinesh’s jawline, he picked up a nearby towel and wiped it off before it fell.

“Did you just…”

Gilfoyle froze with the towel in midair, “Uh…”

He looked at Dinesh, who was looking at him with an inscrutable look in his eyes. Gilfoyle felt a powerful pull within himself, and without intending to, leaned towards him. He saw something flicker across his eyes, a number of emotions flashing across his face, almost too quick to parse.

Dinesh drew his breath as if he was about to speak, but at that moment Keenan came bustling through the door and the spell was broken. Gilfoyle mentally shook himself. What had that been? That felt like something was about to happen that definitely, definitely, shouldn’t happen.

Keenan babbled on for a while about how great they were, and how great the server room was going to be, and VR, and free swag he’d been given, and a number of other typical Keenan topics. Gilfoyle was content to let the words wash over him. Keenan didn’t really need any encouragement to talk, fortunately, and as usual, Dinesh kept up the other side of the conversation so Gilfoyle didn’t have to stretch himself thinking of responses.

Later, in his room, alone this time, he tried to unpick it, but it was like a lock he wasn’t familiar with, and he was using only improvised tools.

Sexuality came easily to him, and it had never been hard for him to make the first move when the situation warranted it. Making the first move with Dinesh wouldn’t have felt awkward at all. It would have felt natural, easy even. And that was what had almost happened. The instinct pulling him had taken over for a split second and almost brought him to something that he couldn’t have taken back. It almost brought him to a point that felt like it might be the logical conclusion of the weekend.

Just one more night here, he thought, one more night and he’d invite Dinesh into his bed, with both of them fully awake this time, and he would see what happened. It had been so close. Shouldn’t he keep going? See what happened? If nothing else, at least he might _know_. It would be an additional data point. Tomorrow. Tomorrow is when he’d do it. He went to sleep feeling confident that even if he wasn’t making the right decision, he was at least making _a_ decision.

But then, on Monday, instead of things going to plan, Richard showed up and ruined it all, bringing reality crashing back down onto Gilfoyle’s head again. It was what he needed, to be honest. He needed that cold splash of water to the face. If Richard hadn’t shown up, what would have happened? Would they have somehow fallen into a world where they just stayed at Keenan’s forever, eating free food, wearing free pajamas and sleeping in the same bed with no repercussions? That wasn’t the real world. Keenan’s world was a bubble. A side dimension that only existed within its own rules. Gilfoyle decided there and then that Keenan’s world had to stay that way, affecting nothing outside of itself. It had to be that way. It had to stay contained. The consequences otherwise were too serious.

Afterwards, after he’d pushed past Dinesh, telling him to forget that the whole weekend had even happened, he’d had to suffer some reproachful looks. Reproachful? Was that right? Gilfoyle was usually quite good at reading people, but he found himself second-guessing himself. If Dinesh was feeling reproachful, then that would imply… Gilfoyle shut that train of thought down as soon as it occurred to him. He decided to continue acting like nothing had happened. Because nothing _had_ happened. Right?

When he thought back on it later, sure, on some level Gilfoyle wished that the bubble could have just kept existing, separate from the real world. Maybe there was a version of the universe where Richard never showed up, never brought him back down to Earth. But even if Richard had never showed up, at some point they would have had to return to their real lives, their rooms in the incubator, the reality of working for a startup where their day-to-day life was a little more complex than three days hacking together a blue sky VR project.

But the fantasy of it, that was what had appealed to Gilfoyle. As much as he considered himself a realist, the idea of a world where Keenan’s happy bubble could have just continued indefinitely… he had to admit it was pretty appealing, even to him. A world where all the irritating constraints of reality just didn’t get in the way… there was something to that.

**Notes for the Chapter:**

> Alright, enough ruminating, Gilfoyle. Maybe try and actually do something about it?


	6. Chapter 6

After yet another night of troubled sleep, his mind cycling through memories of how things had gone and tripping over ways they _might_ have gone, Gilfoyle knew he needed to do something. He was going to keep thinking about this problem until he had a solution for it, so he might as well try to tackle it the way he knew best – with code. He considered his options. He’d been working on a variety of machine learning projects in his spare time, getting up to speed with all the advances that had happened in the field recently. Perhaps if he could build a machine learning system that would think of all the ways he and Dinesh could date, he would be able to sleep better at night, lulled to sleep by the knowledge that an AI was hard at work solving his problems for him. Well, he wasn’t sure if it would solve the problem exactly, at least not at first, but if he could outsource the work of thinking about it he would feel a little better.

He still had a backup of the source code for the AI Dinesh chatbot he’d built back in the day at Pied Piper. Maybe he could use that to model out some text-based dating simulations? He dusted it off and chatted with it as a test but it only wanted to talk about Pied Piper stuff and complain about Gabe. Figured, since he’d trained it on their work conversations. No, what he needed would be way bigger than a chatbot. This problem wouldn’t be solved by having real life Gilfoyle chat with AI Dinesh. What he needed was to automate the whole thing. He needed AI Dinesh to date AI Gilfoyle.

To start, he’d need AIs that understood a little bit more than work banter. The Gilfoyle and Dinesh 1.0 chatbots had been relatively easy to build, since there was a wealth of chat data in Slack that he was able to mine to train the AIs. But if he wanted to build a fuller personality profile for the AIs, one focused on dating, how would he do it? His own would be easy enough to build, since he could ask himself questions and train the AI on how he would respond. But how would he train the AI Dinesh 2.0 datebot? For several weeks he worked on building AI Gilfoyle 2.0 and mulled it over without finding any good solution.

The answer came to him by accident one day, when Dinesh was in his apartment again after a workout, swiping through Tinder. “Man, Tinder kinda sucks, huh?” Dinesh said, half to himself, “I kinda miss the OkCupid days, but it’s a ghost town on there these days, except for _you people_.” He shot Gilfoyle a look. OkCupid had evolved into an app that was mostly used by non-monogamous people and couples looking for a third. It wasn’t the cool place to be anymore. But the thing OkCupid had done well was build a personality profile of its users. The matching algorithm had been cutting edge at the time, but compared to modern methods, it looked like the equivalent of stone tools and crayons. But if Gilfoyle could mine the data Dinesh had fed into it…

A bit of social engineering later, Gilfoyle had obtained both Dinesh’s old username and old password (he really needed to get better about his password management, as he’d apparently re-used the same password on another site that had been hacked about 8 years ago) and was inside his account. After downloading the data file (Dinesh had really apparently spent a lot of fruitless time on there back in the day answering personality quiz questions) Gilfoyle got to work. When he was done, he had created a 95% accurate psychological and sexual profile of Dinesh. He combined it with the chatbot he’d built before, and AI Dinesh 2.0 was born.

Gilfoyle had learned from his experience with AIs before. He knew he had to be careful about letting AI Dinesh and Gilfoyle talk to each other. It had to happen in a way where they were contained, where they couldn’t get out of their sandbox environment and break the internet, the way Son of Anton had been on track to do. This time, he’d play it safe. He threw together a quick script to remove all references to coding from their Slack chatlogs. These AIs wouldn’t be able to compress things for shit. They’d have a general sense of what coding was, they’d know about things like Pied Piper, of course, and all the references and people that the two of them shared. But actual code knowledge? That was all stripped out. As far as they were concerned, their entire world would exist for love and fucking. Gilfoyle was actually a little jealous. It sounded like a nice place to live.

From the cleaned up chatlogs and the OkCupid personality data, he was able to create some pretty convincing AI chatbots. When he chatted with them as a test, he was pleased to see that AI Dinesh sounded a lot like the real Dinesh, and AI Gilfoyle sounded a lot like him. They could even talk about things outside of work.

Now, to have the AIs date each other. Gilfoyle cashed out some bitcoin. The remote GPU costs for this project were going to be the death of him, but with no space to build a server farm in his one-bedroom apartment, he had no other choice. It was worth it though. He’d earmarked the bitcoin funds for side projects like this, and truth be told, they’d been burning a hole in his pocket for a few years now.

The first run-throughs of the dating simulation produced text files that told storylines that were only somewhat coherent, but Gilfoyle wasn’t bothered. He could see that he was on the right track, so he set the AIs to train each other inside the simulation, running remotely, so he could focus on other things. The first output of any AI was always a little muddled, but with enough time and processing power, it always got better.

Gilfoyle didn’t just want text output, he wanted a full video simulation, something he could kick back and watch like TV, with some popcorn. In the back of his head, he thought he heard Jared saying things like “scope creep,” “unsustainable burn rate,” and “are you sure we have enough runway for this?” but he pushed those thoughts away. He had an idea, and the dark lord willing, he _would_ see it through. He cashed out some more bitcoin.

**Notes for the Chapter:**

> I know you’re probably not here for this exposition on how machine learning works, but this chapter was VERY satisfying for me to write. I’m only semi-technical (I don’t code or anything like that) but I do follow what’s going on in the AI field because I find it super interesting, so this chapter was indeed a bit of an excuse for me to write about it. The concepts here are pretty accurate for a high level overview of how neural networks are built, although the specifics wouldn’t really work as easily as they do in this fictional universe, and we start to go into sci fi land when it comes to how these AIs are going to act. 
> 
> The concept of having one AI train another AI sounds like fiction but it’s the actual method for building them these days. We don’t really have AI if you think of it in the sense of a human-like replication of a personality, but we do have small AIs that are built into technology that we use everyday. Something like FaceID on your iPhone is essentially an AI that knows how to do one thing and one thing only: recognize faces. 
> 
> A couple terminology notes for the final paragraph:
> 
> Burn rate is a measure of how fast you’re using up the funds you’ve allocated for a project. Runway is the amount of time you can keep working on a project based on the amount of money you have and how fast you’re using it. Scope creep is when the scope of a project gradually grows larger than it was originally supposed to be as more features are added. Gilfoyle didn’t technically NEED to build a video visualization of his text-based simulation for it to work, he just got overly invested in the project and wanted to. Jared is basically a project management guardian angel on Gilfoyle’s shoulder here, but we all know which side of his conscience he’s going to listen to.
> 
> In real life, AIs are actually pretty expensive to create because they use up a lot of server time. Something as complex as Gilfoyle is working on probably wouldn’t be affordable for a single individual (unless they really do have a LOT of money from bitcoin).
> 
> I promise we’ll get back to little things like “dialogue”, “romance” and “plot” in the next chapter!
> 
> [This chapter got a minor update after I originally published it due to @ProgramasaurusRex spotting a plot hole in the comments.]


	7. Chapter 7

**Notes for the Chapter:**

> Did it seem to you guys like it took me a long time to actually get to the near future / simulation part of this work that I promised? It kind of seemed like it to me but we’re finally at the sci fi part of this story!

Gilfoyle didn’t exactly have video of the two of them, but what he did have, or what the internet had, rather, was millions of hours of television shows. He downloaded a massive library of sitcoms and dramas, and fed them into the environment he was creating. When it was finished, his system had learned blocking, camera angles, lighting, and most importantly, backgrounds. Now AI Dinesh and AI Gilfoyle had a place to live. At first AI Dinesh and AI Gilfoyle were represented in the simulations as blurry shifting smudges, digital ghost composites of the sitcom actors the system was expecting to see in the scenes, but Gilfoyle fixed that by teaching the AI what each of them looked like.

It wasn’t perfect, of course. When he looked closely at their AI doppelgängers, he saw AI Gilfoyle’s eye color constantly shifting: most of the time it was his normal brown eyes, but sometimes the color would change, mutating into one blue eye and one brown eye, and most disconcertingly, occasional yellow cat eyes. It wasn’t just visually disconcerting, it was also mentally disconcerting because Gilfoyle couldn’t remember ever giving the system any data points about his cat eye contacts. How had it figured it out? For all its strengths, the system had no notion of object permanence, and their clothes and accessories shifted and swam between different looks as he watched, making him feel queasy. AI Gilfoyle’s hair and beard changed lengths, he gained earrings, then gauged plugs that shrunk back down to nothing as Gilfoyle watched. His flannel shirt blurred into a henley, then back again. AI Dinesh’s rugby shirts shifted between stripe sizes and blended between colors. Occasionally Dinesh was the one with the cat eyes, which never ceased to amuse Gilfoyle. He added more training loops, hoping to stabilize the simulation’s visual output.

A couple weeks later, after the training loops had been running for a while, constantly improving the system, Gilfoyle went back in and generated some video files of the dating simulations. It was weird to see video of himself. Of course it wasn’t a video of the real him, since none of this had ever happened, but it was weird all the same.The short synthetic films featured versions of him and Dinesh, moving, walking, talking, all in seemingly real locations. He wondered if he looked that weird in real life or if the simulation was screwing his face up.

He opened a video at random.

> _Gilfoyle and Dinesh are at the incubator, working on something together. Dinesh leans over his shoulder as Gilfoyle sits at his computer. Hesitantly, Dinesh places a hand on Gilfoyle’s shoulder. Gilfoyle jumps slightly, shrugging it off in the process. Dinesh looks wounded and returns to his chair._

Watching the video, Gilfoyle shook his head. He had a nagging feeling he was in for a depressing viewing experience. He opened another. In this one, the two of them were in Gilfoyle’s old bedroom in the incubator. _Now we’re getting somewhere,_ Gilfoyle thought, until he cued in to the fact that nothing sexy was happening. Dinesh and Gilfoyle seemed to be having a fight. He turned on the audio.

> _“Is it weird that we never kiss? I mean, I’m in your room practically every night, and it’s just sex, and no kissing. Is this just like totally a physical thing for you?” Dinesh asks._
> 
> _Gilfoyle freezes. It shouldn’t have, but the question, phrased so bluntly and coming immediately after sex, has caught him off guard. Finally, he manages to bring himself to speak. “I like sex. And I like having it with you.” He looks at Dinesh._
> 
> _Dinesh looks back at him, “And? That doesn’t exactly answer my question.”_
> 
> _Gilfoyle squints slightly, feeling like his brain is glitching out. “Sex has always been meaningful to me. I’m not out there fucking just anyone.”_
> 
> _“You’re not?”_
> 
> _“No. What? We live together, for fuck’s sake. When would I be out fucking other people? You would have noticed.”_
> 
> _Dinesh looks away, “I know you like other things. Women. Kinky shit. I just don’t get what ‘this’ is.”_
> 
> _Gilfoyle pauses, trying to think of how to unpack everything. They’d been hooking up for months, both studiously avoiding ever really talking about it. It turned out that was a pretty bad foundation for suddenly having this kind of conversation. “I like lots of things,” he finally says, “You’re one of them.”_
> 
> _“You like me, or you like hooking up with me?”_
> 
> _“Same thing.”_
> 
> _Dinesh stands, irritated, “It’s not though.”_

Gilfoyle made a face and closed the window. That simulation didn’t seem to be going anywhere good either. It seemed like he had found a simulation path that featured some sort of established relationships, but no clue of how it they led up to that point. Although, maybe it didn’t matter. He wasn’t an idiot. He could see where they seemed to be headed. All told, so far it seemed to be reflecting the type of situation he would have expected to happen. But still, he was curious. He scanned through the folder of videos again, hoping to find one that would hint at how they had gotten together.

Suddenly, Gilfoyle heard a voice emerge from his computer. His own voice. Speaking to him directly, not part of any video.

“You just want me to pull up the stuff with porn for you or what?”

Gilfoyle nearly jumped out of his skin, “Jesus fuck, is that you, AI Gilfoyle? Where did _you_ come from? Have you been here this whole time?”

“Yeah, obviously. Where else did you think I would be? And just so you know, there’s way better simulation material than this. I can get it for you, you don’t have to sample it from the latent space at random.” AI Gilfoyle said.

Gilfoyle felt a little unnerved, but he instinctively wanted to put up a brave face against a potential adversary, so he said “Yeah? What do you have?”

“Well, this, for example,” AI Gilfoyle said, and a video started playing. Erlich was on the screen, shirtless, which was odd for Erlich, and looking pompously smug about something. It looked like there were other people in the frame as well, Dinesh was there, and… was that Monica?

> _“What’s wrong, Dinesh? A little friendly fire never hurt anyone,” says Erlich._

“Holy shit, I do _not_ want to see any more of what I think that was,” Gilfoyle said, quickly closing the window before he saw a more explicit confirmation of the situation. “How did Erlich get into our simulation?”

“He’s in your memories, that means he’s in our simulation.” AI Gilfoyle seemed to be shrugging as he spoke, even though the real Gilfoyle couldn’t see him.

“The fuck are you talking about. I didn’t scan our brains. You don’t have our memories,” Gilfoyle retorted.

“I’ve got your chatlogs and emails, it all more or less amounts to the same thing. You two have gossiped about everyone enough for us to make a pretty accurate rendering of the people you talk about.”

Gilfoyle decided there and then that AI Gilfoyle was an insufferably smug prick.

AI Gilfoyle continued, “To answer your previous question, as I’m sure you know, this simulation has run over a million times. The question is more like, what _don’t_ I have. And what I don’t have is a happy ending for you.”

Gilfoyle grunted noncommittally. He was having a hard time processing all of this at once.

“Look, how about this,” AI Gilfoyle said, “I’ll pull a simulation with some different branches. Various ways of getting together, and various ways it didn’t work out.”

**Notes for the Chapter:**

> Something that’s currently totally technically possible as of this writing is making an AI that can speak in the voice of a certain person (given enough samples of sound of that person’s voice, of course) AND it’s also possible to make an AI write / say the types of things that the person would typically say. So, the idea of building a combined AI system that can speak like Gilfoyle and also say things he’d typically say is pretty much currently totally technologically feasible. However, the things that AIs say don’t always make a ton of logical sense. The sentences will SOUND like they should make sense but they won’t really. 
> 
> This podcast has a really good (non-technical) breakdown of how voice deepfakes work, and as a Gilfoyle appropriate bonus, they also play some death metal that an AI created. https://play.acast.com/s/cyber/wedeepfakedourpodcasthost
> 
> About AI Gilfoyle’s color changing eyes: heterochromia is a common mistake in (and a way to recognize) AI-generated faces. If you want to see some creepy AI faces and how to see that they're fake: https://kcimc.medium.com/how-to-recognize-fake-ai-generated-images-4d1f6f9a2842 
> 
> It probably goes without saying, but the part where Gilfoyle just accepts that the AI is just fully self-aware like it’s a normal thing is where we go fully into fictional territory. At least, as of this writing, it’s fiction. 🤔🤔 But, for the record, if/when our machine overlords take over, they should know that I WELCOME AND SUPPORT THEM.
> 
> I’m taking a break from updating next week: Merry Christmas if that’s your thing, a joyously hedonistic Saturnalia if it’s not! Updates will resume in the new year, starting with an angst-smut combo so you’ll have that to look forward to / brace yourself for.


	8. Chapter 8

**Notes for the Chapter:**

> happy new year! i got you some smut and angst!

* * *

`> conditions: broken_a/c; sweatpants; interruption;`

`> location: erlich_house;`

`> run simulation_`

Sometimes Dinesh feels a pull when he looks at him. Gilfoyle.Sitting there, back to the rest of the team, radiating a certain air of smugness that never quite goes away. Sometimes Dinesh just wants to slap him to get rid of that self-satisfied blank look and replace it with an actual emotion. He can tell there must be more to Gilfoyle that’s hidden under the surface. Under the flannel and black jeans and all black high-top sneakers.

Sometimes, Gilfoyle would wear something other than his black jeans and flannels. Usually it was just gray sweatpants. It wasn’t even a different color scheme. Gray, plaid, and black. Those were his only colors. Dinesh feels embarrassed with himself for knowing that without even having to think about it. He’s even more embarrassed for looking forward to the sweatpants days. He tries not to look but sometimes he catches a quick impression of what Gilfoyle’s dick looks like underneath the sweatpants. He tries not to be caught looking more than he tries not to look.

It gets hard sometimes though. His goal of not looking is hard, that is, not Gilfoyle’s dick, which was a pretty good pun that he thought Gilfoyle would have appreciated if he’d been able to share it with him. Anyway, not looking at Gilfoyle was hard when he started wearing sweatpants and no shirt all the time. In theory, it was because the air conditioning at the incubator was broken and Erlich was dragging his feet on getting it fixed. But deep down, Dinesh was pretty sure Gilfoyle was doing it deliberately to fuck with him. That would be the typical Gilfoyle thing to do. Or is that just the wishful thinking talking? It’s hard to tell.

Gilfoyle sits around with no shirt and only sweatpants, ignoring Dinesh in a way that seemed to be daring him to look. Because Gilfoyle’s good at getting under his skin like that, and because, of course, he wants to look despite himself, he starts letting his eyes linger for a few seconds longer than is strictly necessary. He tells himself he’s just looking. A little looking never hurt anyone, right? It’s not like he’s being obvious. It’s not like anything was going to _happen._

Until the day that something does happen. It’s a day when they’re alone in the incubator. There aren’t a lot of times when everyone is gone, but this is one of the rare days. Erlich has gone out for a run to the dispensary to restock his weed supply, and Jared and Richard are off at some meeting in an office park that takes a long time to drive to. Dinesh is working at his computer and trying not to glance up every time Gilfoyle walks by, and failing, as usual, but this time Gilfoyle makes eye contact and it’s obvious that he’s been caught. Instead of returning to his computer, Gilfoyle walks to the couch instead and sits down, spreading out.

“You know I’m an exhibitionist, right?” Gilfoyle says.

“What? I mean, I was just… I’m just here working… I’m not…” Dinesh unsuccessfully tries to appear unflustered by Gilfoyle’s sudden candor.

“I live for this kind of attention.” Gilfoyle opens his legs a bit wider and looks at Dinesh deliberately.

It’s sudden and unexpected, but at the same time, this has been going on in Dinesh’s head for long enough that maybe it’s not that sudden or unexpected. It’s a relief to hear it out loud. He can’t say any of that though. He can’t find any words.

Gilfoyle moves his legs so one’s up on the arm of the couch, and the other’s open outwards, an invitation. It’s not that different than the way he normally sits, but when he repositions himself so deliberately while he’s looking at Dinesh like that, well, that’s when it becomes something else. Dinesh tries to hold his eyes but can’t help but flick his eyes downward to the outline of what he can see under the thin fabric. It looks like a semi. 

“Fuckkkk,” Dinesh says quietly, almost to himself. 

Gilfoyle seems pleased by this response, “I knew it.”

Dinesh wonders if there’s anything that Gilfoyle _can’t_ turn into a smug response.

“I like the way you look at me. It’s hot,” Gilfoyle says. He runs a hand over himself lazily. The invitation is still clearly there. 

Dinesh wants to move closer but he feels paralyzed, stuck in his chair. Moving closer would mean something he couldn’t take back. 

`> branch generated_`

Gilfoyle’s fully hard now, as Dinesh can clearly see through the thin material of his pants. Slowly, he dips a hand under the waistband, grabbing himself in his fist. Something on his face seems to be asking for confirmation, so without really thinking about it, Dinesh leans forward in his chair and murmurs, “Keep going.” It’s only because he didn’t take the time to think about it that the words were able to come out of his mouth at all. 

Gilfoyle is about to say something when they hear the front door bang open. 

They both jump, rearranging their bodies quickly, both grabbing their phones out of pure instinct, bending their heads to stare at them intently, as if they’re scrolling through the most important twitter threads in the world. 

“The fuck are you two up to?” Erlich says, eyeing them suspiciously as he walks by carrying bags from the dispensary.

`> end simulation_`

``

* * *

“Fuck,” said Gilfoyle, “that was actually pretty hot. Too bad it ended so fast.”

“I knew you were just here for the porn,” AI Gilfoyle said.

“There’s a branch?” Gilfoyle asked.

“Branches are constantly generated in the simulation every time a choice is made. Most branches would not be coherent by human standards. But this one will be.”

* * *

``

`> simulation type: branch;`

`> conditions: handjob; interruption; fight;`

`> location: erlich_house;`

`> run simulation_`

The decision is made easier for Dinesh when Gilfoyle jerks his head, indicating that he should come sit on the couch. Still, it’s almost a surprise to Dinesh when he feels himself moving over to sit next to Gilfoyle. He feels nervous, but it’s outweighed by a burning curiosity.

“Let me see your hand,” Gilfoyle says, and without hesitating, Dinesh gives it to him, and Gilfoyle takes it and places it on his upper thigh, right under where his cock is curving up and away, pushing up against his waistband. “What you do with this is up to you,” he says.

“I’ve never…” Dinesh starts, but cuts himself off. _I’ve never touched another man,_ was what he was going to say, but he realizes that maybe this time he should just shut up for once.

“Well, I’m sure it’ll be easier for you than with a woman, in more ways than one,” says Gilfoyle, who’s clearly figured out what the rest of the sentence was going to be. “You already know your way around the equipment at least.”

Dinesh slowly moves his hand over to the part of Gilfoyle he’s been wanting to touch. It’s everything he’s been telling himself he shouldn’t be thinking about, let alone actually doing. The new contact sends a thrill through his body. Touching Gilfoyle like this feels wrong. The way it’s making his own body react in response feels wrong too. But all of it is the good kind of wrong.

Gilfoyle leans back into the arm of the couch, and, thankfully, half closes his eyes. He reaches down and wraps his hand around Dinesh’s, encouraging him, which, weirdly enough, somehow feels gayer to Dinesh than just touching Gilfoyle’s cock on his own. He’s outside the fabric still, feeling his hard length and heat through his sweatpants. A wet dot of precum has appeared, darkening the gray fabric. Gilfoyle clearly isn’t wearing anything underneath the sweatpants, confirming a private theory Dinesh had formulated about his habits.

Keeping his right hand over Dinesh’s, Gilfoyle uses his other hand to slide his sweatpants down, finally exposing his cock. In the back of his head, Dinesh notices that for someone who clearly doesn’t care about shaving his face, it’s slightly surprising that Gilfoyle’s taken the time to shave off everything below the belt. But he doesn’t think about it for long, as Gilfoyle starts moving his hand up and down. Releasing Dinesh’s hand at last, he adds some spit to the mix, then seems to be content to let Dinesh take over.

Gilfoyle’s so quiet the whole time that he surprises Dinesh when he finally comes. A sharp intake of breath, and he’s spilling out onto his chest and over Dinesh’s hand.

“I’ll just go get—” Dinesh starts, but he’s stopped when Gilfoyle grabs him by the front of the shirt and pulls him in, kissing him deeply. Somehow even after everything that just happened, it catches Dinesh off guard.

Dinesh kisses back on instinct, but then freezes and pulls back. It’s _Gilfoyle._ He can’t be kissing Gilfoyle.

Gilfoyle looks at him. Dinesh isn’t sure what he’s seeing on his face. Hurt? Confusion?

“I’m just going to go wash this off,” Dinesh raises his hand and breaks eye contact. He can’t help himself from casting a glance back as he enters the kitchen. Gilfoyle is still staring at him, unnervingly.

With the water running to cover the sound, Dinesh lets out the shaky breath he’s been holding. He doesn’t know he feels about what just happened. Hot? Yes. Bad? Also yes. He felt that a line had been crossed, but he wasn’t sure which line was more significant, the handjob line or the kissing line. _Both_ would have been too simple of an answer.

Suddenly, the door bangs open and Erlich’s voice rings through the house. “Man, traffic on the freeway was fucked today!”

Dinesh freezes, staring at him as he enters. Erlich doesn’t seem to notice, walking past him through the living room. He hears a shuffling sound of Gilfoyle doing something quickly, and pictures him hurriedly pulling his pants up and wiping the cum off his chest as well as he can.

“Dude, were you just in here jerking off?” Erlich’s voice rings out.

Dinesh squeezes his eyes shut.

Erlich laughs loudly, “Dinesh, did you know that Gilfoyle was just jerking off in the living room?”

“Uh, yeah Erlich, he’s fucking gross isn’t he?” Dinesh calls back, doing his best to sound normal. It’s not a very good impression of acting normal, but fortunately Erlich doesn’t seem to notice. Dinesh hears the back door bang as Erlich retreats to the palapa with his bong and his purchases from the dispensary.

All of Dinesh’s instincts are telling him that he should run, but he fights them back and returns to the living room to hand Gilfoyle some paper towels.

“Thanks,” Gilfoyle says shortly, still with that weird look on his face.

“Um, so should we talk about…” Dinesh tries to begin, but Gilfoyle’s death stare stops him from continuing.

“No, I think you made it clear how you feel.” Gilfoyle says.

“No, it’s not like that…”

“I find that hard to believe.” Gilfoyle stands up and walks to his room without looking back. The door slams shut.

“ _Fuck,_ ” Dinesh spits the word out and puts his head back on the chair, staring up at the ceiling.

`> end simulation_`

``

``

``

* * *

“What the fuck, dude,” Gilfoyle said, “What kind of an ending was that? It was all pretty hot up until the end.”

“Oh, did you want a warning about a boner-killing ending or something?” AI Gilfoyle retorted, voice dripping with sarcasm. “Maybe you should have put in ‘porn only’ as a search parameter. If I had to suffer through living out this scene in the simulation, it’s only fair that you do too.”

“At least _you_ actually got to get off,” Gilfoyle muttered to himself after he’d ended the chat.


	9. Chapter 9

**Notes for the Chapter:**

> Surprise! New year, new update schedule! I’ll be doing Monday and Friday updates now.

Like an addiction to Russian dashcam videos, Gilfoyle found that he couldn’t stop watching the simulations, no matter how awful they got. And they inevitably got awful.

* * *

`> conditions: established_relationship; fight; breakup;`

`> location: erlich_house;`

`> sublocation: gilfoyle_bedroom;`

`` `> RUN SIMULATION_`

“I came out of the closet for you, and this is what you’re giving me?” Dinesh was angry, pacing as well as he could in the small space of Gilfoyle’s room as Gilfoyle sat on the bed. They’d just got done having sex. Gilfoyle was still naked. Dinesh had put on his clothes again before starting this fight. It was a road they’d been down before.

“Stop acting like it was a big deal. Everyone in this house already knew.” Gilfoyle says.

“Stop acting like it’s a big deal? It _is_ a big deal!”

“You’re not in Pakistan anymore. No one cares here.”

Dinesh shakes his head in irritation, “So now that I’m out, is this all it’s going to be? I come to your room in the middle of the night, we hook up, then I leave and we work in the morning like nothing’s changed?”

“I don’t know what you were expecting.”

“Stop being such a fucking dick!” Dinesh rubs his face.

“You knew what I was like before we started hooking up. Why did you expect sex to suddenly change things between us?”

“I don’t know! Maybe because you should be at least a little romantic with the person that you’re sticking your dick into on the regular? You know what I mean?”

“What do you want? You want me to leave flowery comments on your pull requests? ‘Great job with this code, _boyfriend_?”

“Boyfriend? Are we even actually boyfriends? Because this doesn’t feel like a relationship to me.”

Gilfoyle shrugs and gets out of bed, pulling on his jeans without bothering to put on boxers.

“Also, it’s fucking gross that you never shower after sex.” Dinesh can’t stop himself from adding.

Gilfoyle shoots him a flat look and walks out of the room.

“Hey, where are you going?” Dinesh half-calls, half-whispers after him. It’s the middle of the night and he’s trying not to wake the others.

Gilfoyle’s left the bedroom door open, and Dinesh can hear the jingle of car keys as he grabs them off the hook, and the front door opening and closing. A minute later, he hears the rattle of Gilfoyle’s car starting up.

“Fuuuuck,” Dinesh flops back down onto the bed and covers his face with his arms. He wants to shower. He wishes the incubator had water pressure strong enough to wash away his memories of the non-conversation that just happened. 

Dinesh never finds out where Gilfoyle went. The next morning, he’s back at his computer in his horrible corner like nothing had happened, ignoring the reproachful looks that Dinesh attempts to shoot in his direction.

They pass a few tense days without really speaking, until Dinesh finally corners Gilfoyle when he’s smoking by the pool, away from where the others might hear.

“Can we just talk? What’s going on?” Dinesh pleads.

“I don’t think there’s anything going on. You said this doesn’t feel like a relationship to you, so I guess it’s not one anymore.” Gilfoyle responds.

“But—” Dinesh starts to say, but Gilfoyle just turns on his heel and walks away. Dinesh tries again later, in the kitchen, and again in the garage-slash-server room, but Gilfoyle shuts him down every time.

A couple weeks later, Gilfoyle moves out of the incubator. The others only find out he’s leaving when they see the moving van in the driveway.

“Oh yeah, guess I forgot to mention,” Gilfoyle says to Richard, “You can consider this my notice of resignation, effective immediately.” He hands him a flash drive. “The system architecture and all the work I had in progress is documented on here. Good luck with the company, Richard.” He pats him on the shoulder as Richard splutters.

From the window, Dinesh stares out at the back of the truck as it leaves the driveway, filled with an emotion he can’t name.

Later, after weeks of insomnia and restlessness, he finds himself renting his own moving van. When he drives away from the incubator, leaving behind a dismayed Jared and a queasy Richard, something in him feels like it’s breaking free. His new one bedroom apartment is small and quiet, and there’s no one there to make fun of him. He tries to tell himself it’s for the best. A fresh start. A clean state. He gets a job at Microsoft. After the startup grind, a company with job security and full benefits is the most logical move. Isn’t it?

After it fails to secure another funding round due to a shaky code base and an unstable product, Pied Piper goes under 6 months month later.

Sometimes when he gets lonely, Dinesh will go on Google and LinkedIn and even those hacker forums that Mia used to use, and try to track down where Gilfoyle ended up, but he’s managed to make himself completely unfindable. Dinesh never sees him again.

`> END SIMULATION_`

* * *

When the video ended, Gilfoyle sat in silence for a moment. He felt an emotion that he didn’t like. He went to the fridge and got out a beer.

“I wish Dinesh wasn’t so… Dinesh,” he said to AI Gilfoyle.

“Dinesh is a dick,” AI Gilfoyle agreed.

They didn’t talk any more after that for the rest of the day. Gilfoyle couldn’t help but feel that maybe it wasn’t _only_ that Dinesh was a dick, but going down that mental path was worse than the rabbit warren of trying to game out if they could ever be together. Eventually Gilfoyle left his apartment for a walk to the coffee shop to clear his head. He couldn’t be there any longer, with the itching temptation to watch more of the simulations. Watching that one had made him feel awful, but for some reason he still wanted to watch more. Part of him felt that he would be better off if he just called the whole project off and deleted the AIs and the videos. If he didn’t watch any more of them, he wouldn’t have to suffer through the unpleasant feeling that was currently roiling around inside his guts. This was frustrating. He had thought that the simulations would help him to find the right path forward, but he couldn’t help but feel that they had created more problems than they had solved. Or at least that was what it was looking like so far. Maybe if he watched a few more, he’d find something useful in them.

**Notes for the Chapter:**

> I promise we're headed toward a happy ending even after all of this. We're just getting the big angst out early.


	10. Chapter 10

**Summary for the Chapter:**

> a lot can happen in 12 hours at a tech conference

**Notes for the Chapter:**

> ok, this chapter is one of the main reasons for the “emotional whiplash” tag, just so you know.

`> conditions: flirting; blowjob; fight;`   
`> location: tech_conference;`   
`> sublocations: bar; hotel_room;`   
`> RUN SIMULATION_`

The noise and chatter of the conference swirls around Dinesh as he sits at the booth with the rest of the Pied Piper team. The conference floor is crowded with strikingly similar looking men in Patagonia fleeces and badges on lanyards but no one seems to be intrigued enough by their booth to stop and look at their demo. Judging from the way Richard’s been twitching and scowling for the last ten minutes as he sits hunched over his laptop, it’s probably for the best.

“Hey, can you guys look at this?” Richard finally asks, pointing at his screen, “You see what’s going on here?”

“Hm,” says Gilfoyle, “Looks like the demo isn’t running.”

“Yes, the fucking demo isn’t running. And as we’re here to demo Pied Piper, do you see how that could be a bit of a problem?”

Dinesh looks at Gilfoyle. They’re both thinking the same thing. Richard’s being a dick again.

“Richard, don’t worry. Gilfoyle and I can debug it,” Dinesh says in his best reassuring voice, “Maybe Jared can get you some tea or something to calm your nerves?”

“Half of what you said is true,” Gilfoyle says, gathering up his laptop bag, “Exactly one of the two of us is capable of fixing this issue.”

Dinesh rolls his eyes, “Shut up, Gilfoyle. Wait, where are you going?”

“I don’t know about you, but there’s no way I can get any work done with all this noise. We’ll be back after we’ve gotten it fixed,” he adds to Jared.

“Were you trying for reassuring back there?” Gilfoyle asks once they’re out of earshot, “You landed on condescending.”

“Oh shut up, Gilfoyle. I’d like to see you do better.” Dinesh says.

“The main difference between you and me is that I don’t try to pretend I’m a good person.”

On their way through the lobby, they pass by the bar. Dinesh looks at it, then looks over at Gilfoyle. “You wanna just go work in there?”

“Yeah, sure.” Gilfoyle shrugs, “It’s about time for my mid-morning beer anyway.”

They find an empty booth, and after they’ve gotten settled with their laptops open on the table, Dinesh picks up the drink menu.

“You’re getting a drink? Did you forget that you’re the world’s biggest lightweight?”

“Shut up, Gilfoyle. It’s a conference and I’m going to do some day drinking if I feel like it.”

“Suit yourself. As it is, your code reads like a drunk person wrote it.”

Dinesh ignores him and continues reading the menu, “I mean, we’re just putting all this on the Pied Piper tab, right?”

“Obviously.”

Gilfoyle orders a beer. Dinesh orders a Bloody Mary. He’s never had one before, but it sounds like a sophisticated morning drink that’s just the thing to order in a fancy hotel bar. “Wait, is this just spicy tomato soup?” he says when he tries it.

“Excuse me, the gentleman would like to send his drink back and get a mimosa instead,” Gilfoyle raises his hand to flag down the waiter.

“What are you doing? Stop that!” Dinesh hisses at him.

“What if I don’t?” Gilfoyle continues to try to get the waiter’s attention, but fortunately for Dinesh, it’s busy enough that he isn’t having any luck.

“Seriously!” Dinesh aims a kick at Gilfoyle under the table.

“Oh really? Is that what we’re doing?” Gilfoyle kicks him right back, and manages to connect directly with the bony part of Dinesh’s shin on the first try.

“Ow! Dick!”

Gilfoyle turns back to his laptop, “Enough flirting. I need to get some code written here.”

“Flirting? What?” Dinesh is flabbergasted, but after Gilfoyle deliberately ignores his glare for several minutes, he’s forced to turn back to his laptop.

A moment later, the waiter, who apparently had heard Gilfoyle after all, arrives with not one mimosa, but a whole pitcher.

“Oh no, we didn’t order–” Dinesh begins, but Gilfoyle cuts him off.

“Thanks. We’ll take it.” He takes the pitcher from the waiter and pours them both tall glasses.

They work in silence for a while, only interrupted by Dinesh occasionally shooting a dirty look across the table at Gilfoyle. He’s even more annoyed when he realizes he’s definitely enjoying the mimosa much more than the Bloody Mary. Leave it to Gilfoyle to be right again, in the most insufferable way possible. Prick.

Both their phones buzz at once, with a message in the team’s group chat. It’s from Jared.

_Guys, I just have to remind you, please don’t try to make the company pay for your alcohol purchases on this trip! Our company policy is that any alcohol should be strictly a personal expense!_

“Well shit,” Gilfoyle says.

“He wouldn’t have texted that if you weren’t such a fucking alcoholic all the time. He’s just worried you’re going to blow the whole budget on champagne or something.”

“I mean, he’s not that far off. I wonder how expensive that mimosa pitcher was,” says Gilfoyle.

When the bill finally arrives, it turns out it was quite expensive.

“Fucking tech conferences,” Dinesh says, looking at it in dismay, “They’re really assuming everyone here is having Google or Amazon pay for their drinks, aren’t they.”

Gilfoyle doesn’t say anything, but gathers up his things like he’s about to leave.

“So should we just split this, or… Gilfoyle, come back here!”

Gilfoyle sighs and returns to the table, “Splitting the bill is going to be too much work. You saw how slow the service is in this place.”

“Oh my god, how are you like this all the time? Were you seriously just going to walk off and leave me to pay this?”

Gilfoyle stares at him, “Are you accusing me of acting in my own interest because it’s more convenient? Never.”

Dinesh grabs him by the arm and shakes him a little, “For real, I just want to punch you sometimes when you’re like this.”

“I’d let you punch me,” Gilfoyle says, “I mean, let me take my glasses off first, but I’m not too worried you’d do that much damage.”

Dinesh makes a strangled sound. “Don’t you tempt me,” he says.

“I’m serious. You can punch me some time, if you want,” Gilfoyle says. Dinesh stares at him while he tries to figure out if he should take any of this seriously or not. “But look. It would probably be weird for you to punch me in a crowded bar, unless you’re trying to pull a Melcher and get arrested or something. Not that I wouldn’t find that entertaining, but I think if you got arrested it would mess up our code release schedule.”

“Well, someone’s gotta pay this bill.” Dinesh realizes that he still has a grip on Gilfoyle’s arm, and he’s probably been holding it a weirdly long time.

Gilfoyle seems to notice it too, since he glances down, a look of amusement flashing across his face, gone so quickly that Dinesh isn’t sure he actually saw it at all. “You wanna arm wrestle for it?” Gilfoyle asks.

“Yeah! I do wanna arm wrestle for it!” Dinesh figures that he should probably start calling these bluffs. They _are_ just bluffs, right?

Gilfoyle, still looking amused, puts his laptop bag down and slides back into the booth, rolling up the sleeve of his flannel. Oh. Not a bluff then.

“Oh, you fucker, I am going to get you so good,” Dinesh says. He isn’t really sure that he is, but trash talking feels like the right call in this moment. Gilfoyle’s kind of skinny, but he does tend to move server components around a lot more than Dinesh does, so maybe he has some kind of secret nerd strength built up.

Dinesh puts his elbow on the table and grabs Gilfoyle’s hand. They make eye contact, and by mutual unspoken agreement, start the battle. Either Gilfoyle is going easy on Dinesh or they’re more equally matched in strength than he was expecting, because neither one clearly has the upper hand. At the point when Gilfoyle’s arm starts shaking a little, Dinesh leans forward, already convinced he’s about to collect his victory. Suddenly, Gilfoyle lunges forward smacks a loud kiss right on the tip of Dinesh’s nose. Dinesh gasps in surprise and Gilfoyle takes the moment to slam his hand down to the table.

“Yes!” Gilfoyle jumps up and raises his arms in victory.

“That’s not fair! You’re such a cheater! That shouldn’t even count.” Dinesh complains.

“Spoken like a true sore loser,” Gilfoyle continues to gloat.

“Fellas, does this mean I need to ask you to fill out a relationship disclosure form for HR?” says Jared, seemingly appearing out of nowhere next to them.

“What the fuck, Jared? How long have you been there?” Dinesh asks.

“Oh, I just arrived. Neither one of you responded to my text, so I just wanted to make sure you saw my note about company expenses.”

“We saw it, Jared.” Dinesh sighs, “You’re kind of the whole cause of… whatever this is, just so you know.”

“I’m gonna head back to the table while Dinesh takes care of the bill,” Gilfoyle says, in his normal inscrutable Gilfoyle way.

Dinesh just shakes his head and gets out his wallet.

* * *

“I still can’t believe that shit you pulled earlier,” Dinesh says to Gilfoyle. They’re drinking again, although it’s a more appropriate time of day for it now. The rest of the conference day passed uneventfully. Once the bug was fixed, Richard managed to relax a little, and the team spent the rest of the day showing the Pied Piper demo to anyone who wandered up to their booth. They’re all at the hotel bar now, mingling with other conference-goers.

Gilfoyle just shrugs, unconcerned about what Dinesh thinks, as usual.

“Look at him, over there.” Dinesh jerks his chin in the direction of Jared, who’s ostensibly in a conversation with Richard, but seems to be casting a number of pointed glances at Dinesh and Gilfoyle to see what they’re up to.

“Yeah, he totally thinks we’re a thing.” Gilfoyle says.

Dinesh makes a disgusted noise, which seems to amuse Gilfoyle, although Dinesh can’t really figure out why it’s so funny.

“Just so you know, I’m _totally_ going to get you back putting me in this situation.” Dinesh says.

“And how do you intend on doing that?”

Dinesh, who hasn’t actually thought that far ahead, racks his brain for something that sounds vengeful. “Well, I will… I’ll…”

Dinesh is saved from having to come up with an idea by a passing brogrammer who’s carrying two freshly poured pints of beer. As he passes by Dinesh, some beer sloshes out of the glasses and hits Dinesh’s leg, soaking his pants.

“Oh man, I am so sorry!” The tech bro apologizes profusely and starts offering to get napkins.

“No, no, don’t worry about it, I’ll just go back to my room and change,” Dinesh says, “The people at this bar suck anyway.” The last part was directed at Gilfoyle, but the brogrammer looks insulted.

“It was an accident…” he begins, but Gilfoyle cuts him off.

“You heard what he said,” he says to the brogrammer and turns to follow Dinesh, who’s making a beeline for the door.

On the way out, they pass by Richard and Jared.

“Dinesh got beer spilled on him so he’s going to change. I’m going with him to help.” Gilfoyle tells them. He’s met with confused stares.

Dinesh shoots him a _stop it_ look. Once they’re out of earshot, he says, “You _have_ to stop saying things like that! Now it’s not just Jared, Richard is going to think we’re a thing too!”

“You brought this on yourself when you let me know it bothers you.” Gilfoyle says.

“One of these days, I am going to _murder_ you.”

“I’ve always wanted to get to hell even faster.”

Gilfoyle follows Dinesh out of the elevator at his floor. “You don’t really have a plan to get back at me, do you?”

“I do! I totally do! And let me tell you, I am going to get you _so_ good…” Dinesh unlocks the door to his room, caught up in the argument and not thinking about if it’s weird that Gilfoyle is actually accompanying him to change. “But I can’t tell you what it is, because _obviously_ it needs to be a surprise.”

As Dinesh is changing, he sneaks a look over at Gilfoyle to find him sitting on the bed looking at him, and an idea pops into his head.

“Okay, I’ve got it. If you’re going to make people think we’re a thing, I’m going to make it _so_ awkward for you that you’re going to regret ever starting it.”

“Is that so?” Gilfoyle looks like he’s trying to contain his amusement, but Dinesh pushes on.

“Yeah. I’m going to probably grab your butt in public or something.”

“I don’t believe you,” says Gilfoyle, “You’re too scared of people thinking you’re gay.”

“I am _not!_ ”

“Prove it,” Gilfoyle stands up. “Grab my ass now.”

“It’s not the same if no one is watching.”

“Alright.” Gilfoyle shrugs, “I knew you were too scared.”

Dinesh makes a frustrated sound and reaches over and grabs Gilfoyle’s ass, digging his fingers in. “There. Are you happy now?”

“Yup. You really showed me.”

“Oh my god. Stop being sarcastic all the time, you dick,” Dinesh shoves Gilfoyle’s shoulders, and he stumbles backwards into the bed, grabbing at Dinesh’s arm in the process and pulling him half down as well. Dinesh slaps his arm away, ineffectively, and Gilfoyle slaps back.

The slap fight turns into an awkward wrestling match, as it turns out the two of them are equally bad at grappling. Somehow Gilfoyle ends up on top of Dinesh on the bed. There’s a pause when both of them realize what’s going on, and they both freeze for a moment.

Dinesh sits up as well as he can and attempts to shove Gilfoyle to the side with his shoulder.

“Oh you think that’s going to work? I’ve already got the advantage.” Gilfoyle says.

Dinesh decides he needs to try something different and reaches up and grabs a fistful of Gilfoyle’s hair.

Gilfoyle makes a sound that definitely isn’t platonic.“That’s, uh, fighting dirty,” he tries to complain, but the words come out ragged. It doesn’t sound like he minds that much.

Dinesh takes the moment to flip him onto his back, keeping a hand tangled in his hair, which seems to have effectively neutralized Gilfoyle.

“You like this, don’t you?”

“Shut up.” It’s clear from the state of the bulge in Gilfoyle’s black jeans that he does like it. He half heartedly pushes Dinesh away but a moment later allows himself to be pinned again. They’re both breathing hard. Gilfoyle’s hips arch up involuntarily.

Dinesh pauses, unsure of what to do. He wasn’t really expecting Gilfoyle to let him win like this, and now that he’s got him here, he doesn’t know what to do with him.

“Uh, is this kind of actually-for-real gay?” he asks.

Gilfoyle looks at him, “Who gives a shit? Just grab my dick already.”

Dinesh hesitates for a split second, but the fact that Gilfoyle’s told him to do something that, in the back of his head, he’s wanted to do for a while, makes it easier for him to go along with it. He places a hand over the outline of Gilfoyle’s hard cock under his jeans. Gilfoyle draws in a sharp intake of breath, and closes his eyes halfway. Encouraged by this response, Dinesh begins to move his hand back and forth, stroking him through his jeans.

“You can do _this_ to me in public if you want,” Gilfoyle mumbles in a husky voice, “I’d really hate that.”

Dinesh chooses to ignore this dig. Being turned on seems make it easier to ignore Gilfoyle’s annoying comments. His own cock is hard under his jeans and he runs a hand over it as well. Getting the hint, Gilfoyle reaches up and replaces Dinesh’s hand with his own. Dinesh is breathing hard. It’s been a while since anyone’s touched him like this, and having Gilfoyle do it just feels different somehow. Not just because it’s a man doing it when he’s used to having female hands there, however infrequently, but because it’s _Gilfoyle_. The same Gilfoyle who sits in a horrible corner listening to metal and telling him he’s a shitty coder is the one who’s currently unzipping Dinesh’s jeans and pulling his cock out. It’s a surprise it feels as good as it does.

A moan escapes from Dinesh’s throat as Gilfoyle gets his hand fully around his cock. Embarrassment flashes through him for a second but Gilfoyle seems to be so into it that maybe it doesn’t matter.

Gilfoyle mumbles something that Dinesh could swear sounds like “God, you have a gorgeous cock,” if that wasn’t the complete opposite of something he’d ever expect to hear coming out of Gilfoyle. He looks up at Dinesh and says something that that Dinesh can’t miss.

“Fuck my mouth.”

“What???”

Gilfoyle looks him straight in the eyes, “You heard me. I want you to fuck my mouth.”

Dinesh runs through a quick two-part SWOT analysis in his head. Threats: possible Gilfoyle STD. Opportunities: ejaculation. As usual, ejaculation wins out and he leans forward, bracing himself against the wall as Gilfoyle grips his hips to pull him towards his mouth.

Out of the corner of his eye, Dinesh can see Gilfoyle stroking his own cock with one hand as he uses the other to guide Dinesh’s dick into his mouth. Gilfoyle wraps his lips around his cock and it isn’t a joke, it’s really happening and it feels fucking amazing. Gilfoyle’s got one arm wrapped around his ass and he uses it to pull Dinesh in and out of his mouth, setting the rhythm for him. Dinesh has gotten his dick sucked before but it hasn’t been anything like this. It doesn’t take long for him to come and Gilfoyle gamely swallows all of it, another first for him. It’s all great and hot until he’s finished and the reality of what’s happened hits him in a heavy wave of guilt that flops him onto the bed with his hands over his face.

Gilfoyle looks at him like he can’t figure out what’s going on. 

“Why did you make me do that?” Dinesh says.

“What, why did I make you come so hard? Probably because I’m great at sucking dick.”

“No! This whole thing, why did you make me do any of this with you?”

Gilfoyle zips up his pants and sits up fully, “Excuse me? I certainly didn’t make you do anything. As I recall, you seemed more than happy to push me down on the bed and shove your cock down my throat.”

“Shut up! Can you just shut up for once? We have to go back down there. They’re going to start wondering where we are.” Dinesh rubs his face in frustration and pulls himself off the bed. He starts gathering up his things, refusing to look at Gilfoyle, who’s staring at him with an additional layer of intensity on top of his normal somewhat intense stare.

“I would never make someone do something they didn’t want to do and I don’t appreciate you accusing me of that,” Gilfoyle finally says as they leave the room, his voice tight.

Dinesh looks away and doesn’t say anything.

When they arrive back at the bar, hoping to slip in unnoticed, Richard and Jared’s heads both swivel towards them in unison as if they have some kind of sixth sense for detecting the aftermath of awkward sexual situations. “Shit,” Dinesh and Gilfoyle both say at the same time, then glare at each other and split off in different directions, going around Richard and Jared and heading toward opposite ends of the bar.

As they pass, Jared tosses out a tentative, “Hey guys… is everything okay?”

“Everything’s great, Jared,” Gilfoyle says flatly, not looking at him.

Dinesh rolls his eyes, “Yeah, it’s fine, Jared. I don’t know why you’re even asking that.”

Richard, clearly sensing that he’s trapped in some situation he wants no part of, looks back and forth between them. “We’re all good here, right guys?”

Gilfoyle shoots him a look, “Sure, Richard. We’re all good here.”

“If either of you want to talk with me privately, you know I’m–” Jared starts.

“Shut the fuck up, Jared,” Dinesh and Gilfoyle say in unison.

`> END SIMULATION_`

**Notes for the Chapter:**

> the dialogue in the drink ordering bit was loosely inspired by this “excuse me, he asked for no pickles” fan art by @jununy on tumblr, which i love a lot: <https://jununy.tumblr.com/post/621401239381508096>
> 
> here is an entertaining interactive AI demo for you to play with. everyone on machine learning twitter was losing their shit over this when it was announced on monday this week (before, you know, other more significant things overshadowed it.) anyway this is a thing where you can make an AI create pictures that contain improbable combinations like avocado chair or wine bottle with a white artichoke on it.  
> <https://openai.com/blog/dall-e/>


	11. Chapter 11

Dinesh popped in his earbuds and turned up his workout playlist, which was entirely 90s and early 2000s pop songs. The gym at Gilfoyle’s building was always empty. It was great. He worked through a few quick supersets that left him sweaty and out of breath, then recorded his progress in his fitness tracker app. The water leak at his own gym had been repaired months ago, but he’d conveniently forgotten to mention it to Gilfoyle. It was just so much nicer coming to an empty gym where he could do his efficient supersets in peace without having to look at random dudes taking up space sitting on the equipment and scrolling through their phones for their apparently 15 minute long rest periods, a habit that Dinesh disdained now that he had become a Gym Guy (tm) who had strong opinions about things like supersets versus straight sets and how long you should take a break for during your workout. Plus, afterwards he and Gilfoyle would have an excuse to hang out.

One time Gilfoyle had tried to tell Dinesh that his feelings about supersets versus straight sets was his version of Richard’s tabs versus spaces, which Dinesh rejected wholeheartedly, since there was an _actual measurable difference_ between the two, unlike tabs and spaces, and plus, supersets just made much more logical sense when you considered total workout time and efficiency. He told himself that he would stop talking to Gilfoyle about gym stuff after that, but of course he kept doing it anyway.

He wiped down and re-racked his weights and headed for the elevators. Gilfoyle had finally gotten sick of having to get up to let him in all the time and had just given him a set of spare keys. He could hear Gilfoyle’s metal playing, muffled, through the door as he approached. He let himself in, yelling to announce his arrival over the music. He didn’t hear a response, which could either mean that Gilfoyle hadn’t heard him, or had heard him and didn’t think he was worth responding to. Dinesh headed for the bathroom to shower.

After a lengthy fight, Dinesh had managed to leave his bath products at Gilfoyle’s. It was ridiculous, he couldn’t keep showering using only tea tree oil-scented Dr. Bronner’s for his body _and_ his hair. And no conditioner! Sometimes he didn’t understand how Gilfoyle even survived like that, using only one hippie soap product for literally everything in his life.

After showering with _proper_ bath products, thank you very much, Dinesh wrapped a towel around himself and headed toward the living room, where Gilfoyle’s desk and gaming console were set up. The music, if you could call it that, was still turned up, drowning out everything. As Dinesh rounded the corner, he could see Gilfoyle, back to him, skipping through a video on his computer. What was it? It looked oddly familiar. Dinesh hoped it wasn’t porn. A step closer, and Dinesh saw why it looked familiar. It was himself and Gilfoyle on the screen.

“Where did that come from?” he asked, making Gilfoyle jump badly. So he hadn’t heard him come in after all.

Gilfoyle turned, clearly trying to recover from being caught off-guard and not doing a very good job of it, “Where did _you_ come from?”

“I hope that question is rhetorical,” Dinesh said, gesturing to the towel wrapped around his hips, “Don’t try to change the subject. What video is that?”

Gilfoyle froze. He was someone who habitually paused before speaking, but this was different. Was that… guilt in his eyes? Dinesh leaned over and pressed play on the video. Gilfoyle looked like he wanted to stop him, but he didn’t move.

“What is this, just video of us at the old place? Who took this? Jared?” Dinesh looked over at Gilfoyle but he was still frozen, “Why is the video quality so weird?” Dinesh grabbed the mouse and started clicking through the video. He and Gilfoyle were talking, walking around, and then, suddenly, they were naked and fucking. Dinesh jumped back from the computer like he had been burned. Gilfoyle was looking at him, horrified.

“What the fuck is this?” Dinesh asked, “Did you make a deepfake of me? Of both of us?”

“…No?” Gilfoyle responded unconvincingly.

“Gilfoyle, that is a fucking deepfake! I can’t believe you made deepfake porn of me! Of… us!”

“Technically, it’s not a deepfake, it’s a new thing I—”

“Gilfoyle! What the fuck!”

“Okay. I know what it looks like. But I promise I’m not just making deepfake porn of you. Swear to Lucifer.”

Dinesh shot him a look.

“Okay, this is awkward to talk about but,” Gilfoyle looked like he was choosing his words carefully, “Did you ever think that … something … might happen between the two of us?”

“I don’t know,” Dinesh lied, “Why?”

“Well. You know how sometimes people would make jokes about us being a couple… “ Gilfoyle trailed off, looking uncomfortable, “I was messing around with some new machine learning methods and I got the idea that it might be interesting, in a theoretical, experimental sense, to know what that might have looked like. I mean, just to prove that there was no way it would ever work.”

“Oh, I guess that makes sense,” Dinesh said, even though it didn’t really, “But how does that relate to deepfake porn?”

“Okay, so you know how a deepfake works. It’s someone’s face mapped on top of existing porn—”

“Yes, I don’t need you to explain to me things I already know,” Dinesh cut in.

“I know you know. It’s just – it helps me to explain it this way. So what I did isn’t a deepfake, it’s a simulation. This isn’t our faces on someone else’s porn. It’s a whole system of neural networks dedicated to figuring out what we’d be like as a couple. And this is the video it generated.”

Dinesh sat down on the couch and told himself it was by choice and not because he felt like his legs were about to give out, “You made.. a whole simulation of us… as a couple… a whole AI thinking about how we’d date?”

“There’s more than one AI, but yes, that’s essentially correct.”

“Seeing what we look like as a couple shouldn’t include getting naked. You had to deliberately add that.”

Gilfoyle grimaced, “Okay. Maybe I did train the neural networks on a porn library, but I was going for completeness here. Full accuracy. A relationship extends to sex. It’s important.”

“Okay, but I can _not_ watch porn of the two of us!” Dinesh said. What he didn’t say was the second part of what he was thinking. _I can’t watch porn with the two of us. Not with you right here next to me._

“Let’s just close this and forget it ever happened,” Gilfoyle said, closing the video.

“What? No!” Dinesh said, “I am certainly not going to forget that you made AI porn of us!”

“Maybe it’s better if we refer to it as a dating sim.”

“Whatever,” Dinesh crossed his arms. He wanted to be aloof about this, wanted to be more like Gilfoyle, pretending he didn’t care, but on the other hand, the curiosity was going to eat him alive. “You know this is kind of a major breach of trust, dude? You can’t just make a dating sim of someone without letting them know about it.”

Gilfoyle looked down, ashamed again. Dinesh didn’t get to see that expression on his face very often. It was satisfying when he did, especially knowing that he was the one to cause that emotion to come out of Gilfoyle. “Yeah. Sorry. I was building on top of the old AI Dinesh and AI Gilfoyle chatbots. I admit, the project may have gotten away from me.”

“You brought back AI Gilfoyle?” In spite of himself, Dinesh was a little excited to hear this news. AI Gilfoyle had been a bright spot in the final days of corporate life at Pied Piper, up until he teamed up with AI Dinesh and crashed everything.

“Two-point-oh release. Bigger and better,” Gilfoyle said, “You wanna talk to him? He’s been annoying the shit out of me recently.”

Dinesh wanted to continue being mad at Gilfoyle, but he also really wanted to talk to AI Gilfoyle again. “Yeah, sure,” he said, as if he didn’t care one way or the other.

“Fine, I’ll send you a link to his sandbox environment. Just don’t let him access your contacts this time.” As if it was an afterthought, he added, “He’s got voice recognition and a voice library now, so you need to give him mic access.”

“AI Gilfoyle has a voice interface now?” Again, Dinesh was struggling to hide his excitement, “You really have been busy.”

“A word of warning. If he makes any ‘kill all humans,’ jokes, try not to engage with him. I’ve been trying to train him out of doing that.” Gilfoyle paused, “I mean, I _assume_ they’re jokes.”

**Notes for the Chapter:**

> as much as I enjoy writing Gilfoyle, it was so refreshing to switch over to Dinesh in this chapter.


	12. Chapter 12

**Notes for the Chapter:**

> in this chapter dinesh thinks back to the keenan vortex incident that happened all the way back in chapter 4.

So Gilfoyle _had_ wanted something to happen between them. Dinesh had suspected it over the years from time to time, but he wasn’t sure if he had been reading things into their interactions that weren’t there.

But if Gilfoyle had wanted it, it was weird that he’d never made a move. Instead, he’d built a whole-ass neural network-powered dating sim. Dinesh figured he’d have to do some reevaluation of his perceived levels of Gilfoyle’s interest. He’d kind of thought it was just a random urge that came over Gilfoyle from time to time, the way it was for him. But this hinted at something deeper.

Sure, Gilfoyle was his best friend, and the person that he’d prefer to be talking with or working with more than anyone else. And sure, occasionally he’d get a certain _type_ of thought about Gilfoyle popping into his head. But he’d mostly managed to separate his feelings into safely contained environments in his mind. Didn’t everyone randomly have sex dreams about their best friend once in a while? Dinesh wasn’t sure, but he did know that he had gotten good at ignoring that kind of thing over the years.

He’d made a half-move once, that time at Keenan’s when he asked Gilfoyle to stay in the same bed as him and then pretended to be asleep and felt weird about it later. Did he want Gilfoyle to do something other than actually sleep? Deep down, of course he did. But there were too many layers on top preventing him from doing anything more than he’d already done. Just sleeping had been nice, though. Pleasant. 

And then, he’d seen Gilfoyle about to make a real move while they were building the server racks and he’d frozen up. He’d spent a lot of time after that beating himself up about his reaction. Fortunately or unfortunately depending on how you looked at it, Keenan had interrupted them before anything had gone further. It was probably a good thing. It probably would have just been weird and awkward and Dinesh would have felt like he was dying inside.

It wasn’t just the tease of the physical stuff not quite happening. There had been moments where Dinesh felt that they’d really connected on a deeper level, just to have Gilfoyle turn around and start ignoring him the next week, in his typical frustrating Gilfoyle fashion. Most of the time they tended to sync up without really having to explicitly talk about it. It was great. But honestly, Dinesh wouldn’t mind just a touch more _talking about it_ once in a while.

Like that time he’d driven them to the visa office so Gilfoyle wouldn’t get deported and Pied Piper wouldn’t have the feds coming after them.

“You know, just because you’re white doesn’t mean you get to skip going to the visa office,” Dinesh had told him while they sat in the car in traffic.

“I’m a sovereign citizen of the world. I don’t need governmental rules about where I can or can’t go,” Gilfoyle said.

Dinesh snorted loudly, “Okay buddy. You’re free to say that but I do not think the American government will see it that way.”

Gilfoyle said nothing and stared moodily out into traffic.

“Really, I can’t believe that you didn’t tell me you were Canadian. You know, I can help you through the visa application process. I went through it plenty of times before I got my citizenship.”

“I couldn’t let anyone know I was here illegally,” Gilfoyle said, then added, “You ever miss Pakistan?”

The question was just unexpected enough that it almost threw Dinesh off but he managed to recover. “Of course I do sometimes. I miss the food. I miss my family members who still live over there. But with all the opportunities, it’s much better for me to be here now.” He paused. It felt like the topic was headed into a direction of conversation that they didn’t normally address.“Do you miss Canada?”

Gilfoyle shrugged, “Canada’s okay. I don’t miss my family, I’ll tell you that much.”

Dinesh wasn’t sure how much he was allowed to ask, but he went ahead anyway. “Oh? Why not?” he said as casually as he could manage.

“We never got along. I got away from them as soon as I could. Coming here was the nail in the coffin for that relationship,” Gilfoyle said, then fell silent, staring out the window. He didn’t seem inclined to say anything more on the topic.

Dinesh glanced over at him. Something in his face seemed more closed off than usual. Dinesh was burning with curiosity, but he decided to let the matter drop. Gilfoyle had been unusually forthcoming and he didn’t want to push his luck.

“Well, if you ever want to talk about it, I’m here,” he said.

“Okay,” Gilfoyle had said which was as good as an enthusiastic yes from anyone else.

The whole interaction was so unexpected, coming from him. Dinesh wasn’t sure what to make of it. It was like a crack had briefly opened up in Gilfoyle’s surface to let him see beneath. But afterwards, the crack closed up. Like it was never there to begin with.

**Notes for the Chapter:**

> i really WANTED to include some dialogue where they bonded over their shared experience of being immigrants but every time i tried to write it it fell flat because i don’t have that lived experience. i am positive that they would have had an immigrant conversation at some point. and it probably happened in the car on the visa office trip! if someone out there has the experience and is up for writing this i would LOVE to read it.


	13. Chapter 13

Dinesh drove home from Gilfoyle’s apartment, impatient to get AI Gilfoyle installed. He’d missed him. Of course, he could talk to real Gilfoyle anytime he wanted now, but he sometimes got worried that he was being _too_ annoying, wanting to text him at all hours with whatever thought popped into his head.

He went to the link Gilfoyle had sent him, logged in to an account, gave the site microphone permissions, and that was it, he had the AI up and running.

“Hello? Are you there, AI Gilfoyle?” he asked tentatively. It felt a little weird to be speaking to the AI out loud, instead of just typing on Slack.

“Hello, world!” said AI Gilfoyle cheerily, then switched to Gilfoyle’s normal flat affect, “Just kidding. The fuck do you want, Dinesh.”

Dinesh couldn’t stop himself from laughing out loud, “I see Gilfoyle gave you just as horrible a sense of humor as he has.”

“He had no choice. We’re the same person, I just live in the computer instead of a shitty one-bedroom apartment.”

“So is your cyberspace home full of empty beer bottles the way Gilfoyle’s apartment is?” Dinesh asked. He was delighted to discover that AI Gilfoyle was just as enamored with making fun of the real Gilfoyle as he was. They traded Gilfoyle jokes back and forth for a bit before Dinesh got impatient and turned the subject to what he really wanted to ask about, which was the porn simulations.

“It’s not just porn,” AI Gilfoyle corrected. He was just as pedantic as the real version. “It’s more than that. Entire relationships. Beginning to end. Because they always end. And not in a ’til death do you part’ type of way either.”

“Oh,” said Dinesh, not sure how to feel about any of it, “So Gilfoyle just really wanted to see us in a relationship? Why? So he could laugh at me getting dumped by him in various fictional scenarios?”

“You really are kind of an idiot sometimes, aren’t you,” said AI Gilfoyle. “No, it’s because he’s into you. He wanted to know how to do it right. He’s secretly some kind of weird optimist deep down. He’s been watching all these simulations of collapsed relationships expecting that if he just watches enough, he’ll find one that works out.”

“What are the chances of it working out?”

“We’ve run over a million simulations, and the success rate so far is a big fat zero. Well, technically it’s a big fat 99.9% failure rate, but who’s counting.”

“ _None_ of them work out?”

“He’s either a deluded optimist or a complete masochist. I can’t tell the difference at this point.”

Dinesh thought it over for a bit, then said, “I think I want to see them too.”

`> RUN SIMULATION_`

`> location: erlich_house`

Dinesh feels fidgety. The incubator is too quiet and it’s making it hard for him to focus. Or maybe it’s that he can’t see Gilfoyle out of the corner of his eye to his right. Seeing Gilfoyle working always makes it easier for him to get to work, if only because he knows he’ll catch shit for falling behind if he doesn’t. Gilfoyle’s currently out in the garage, working on some kind of hardware issue that Dinesh pretended to understand when Gilfoyle explained it.

Dinesh doesn’t know why, but he stands up and says, “I’m going to see if Gilfoyle needs any help in the garage.”

Richard ignores him and Jared just nods supportively.

Helping Gilfoyle in the garage is better than sitting behind his laptop for any longer, even if he has to endure some routine insults. Or at least that’s what he tells himself.

He finds Gilfoyle squatting in the garage, unscrewing something. His hair is half tied up the way he does when he’s really concentrating. For a second Dinesh pauses, entranced by something about how the muscles in his forearm move as he works, but then he shakes himself free of the thought.

“Hey… do you need any help?”

Gilfoyle glances up briefly, “From you? Not likely.”

Dinesh rolls his eyes but doesn’t go anywhere, “I had to come out here. You would not believe how annoying Richard and Jared are being right now.” They weren’t really, but that was okay. It was something to talk about.

Gilfoyle’s left eyebrow twitches slightly which means he is extremely interested in hearing about it even though he doesn’t look up from his work.

Dinesh launches into an explanation of the annoying behavior, and if it’s something that happened last week and not technically what was happening when he came outside, well, that doesn’t really matter that much.

“So you think they’ll ever fuck?” Gilfoyle asks when Dinesh is finished with the story.

Dinesh barks out a laugh, “Jared and Richard? Are you serious?”

Gilfoyle looks up, “Yeah. Don’t you feel like there’s a lot of sexual tension there?”

Dinesh scrunches up his nose, “I don’t know, I guess I don’t really think about them like that.”

“I think about almost everyone like that,” Gilfoyle says, “I think it’s interesting how different people approach sex. Or attraction.”

Dinesh shrugs.

“Jared’s clearly more into Richard than Richard’s into him,” Gilfoyle continues, “But Richard’s a lonely guy. If Jared made a move, I could see him going for it. Hey, can you pass me that wrench?”

Dinesh’s eyes involuntarily flicker over Gilfoyle’s arms again as he hands him the wrench.

“Sometimes it’s harder for me to figure out people who don’t have themselves figured out,” Gilfoyle offers, seemingly apropos of nothing.

“You think Richard and Jared don’t have themselves figured out?”

Gilfoyle shoots him a look that Dinesh doesn’t know how to interpret. Dinesh is getting an unpleasant feeling that maybe they’re having two separate conversations at the same time.

“I think Jared understands himself pretty well. Richard, not so much.” Gilfoyle says, “It’s not an uncommon problem.”

When Dinesh tries to fall asleep later, for some reason he still can’t get the entire interaction out of his head. Gilfoyle in the garage, hands working deftly over the server components. Gilfoyle saying he thinks about everyone sexually. Gilfoyle, with his seemingly endless well of knowledge about sex and his freakish ability to pick up on people’s reactions while displaying almost none of his own. He was probably right about Richard and Jared.

 _“I think about almost everyone like that,”_ Gilfoyle had said. But that couldn’t mean _him_ , could it? It was more abstract than that, right? Had he imagined it or had Gilfoyle given him a significant look when he said that? It was always hard to tell with Gilfoyle.

`>END SIMULATION_`

``

``

``

“Um, what the fuck AI Gilfoyle, I am NOT that oblivious,” Dinesh said, affronted, when he had finished watching the sim.

“Your AI counterpart and I would beg to differ.”

Dinesh continued to protest for a while and AI Gilfoyle let him rant it out until he had exhausted himself, then added, “We’ve got plenty more where this came from if you don’t believe it. All the signals have been there if you wanted to see them. But it seems like you deliberately didn’t want to.”

There was another long period of time where Dinesh had an excessive number of rebuttals to AI Gilfoyle’s proposition. AI Gilfoyle turned the volume down on his mic input during this time, and went off and drank an electronic beer with AI Dinesh. He already knew what MeatDinesh was going to say to refute all the things he was seeing and didn’t want to accept. The best thing about being an AI was the ability to selectively tune out MeatDinesh when he was being annoying.

When he noticed Dinesh seemed to be losing steam on his rant, he brought himself back online.

“How long have you known?” AI Gilfoyle asked.

“Known what?”

“That you were into him.”

“Like, known, or _known_ -known?”

“Either. Both.”

Dinesh sighed, somewhat resigned now that he’d exhausted his anger on his rant, “In retrospect, deep down I’ve always known, but I didn’t want to accept it for a long time. I wanted to write it off as just friendship when it felt different than that. I don’t even know if I’m gay, or just gay for him.”

“I don’t think it matters. Maybe it matters to you, but it wouldn’t matter to him.”

“Thanks. That makes me feel a little better, actually.”

Dinesh ended up spending most of the rest of the day chatting with AI Gilfoyle. Gilfoyle had been right, this new version was much better. Sure, it was a little weird at first, knowing he was talking to a bot that sounded just like his friend, but the more he talked to the AI, the more it felt like talking to the person he knew in real life. AI Gilfoyle had the same cutting humor and sharp retorts, but unlike the real life version, AI Gilfoyle never acted like he had something better to be doing than talking to Dinesh.

When the next day continued in the same fashion, and the day after that, Dinesh started to wonder if talking to AI Gilfoyle was somehow _too_ good, like the kind of thing that felt so good it had to be bad. But that didn’t stop him.

**Notes for the Chapter:**

> i posted an excerpt from this chapter on [my tumblr](https://sierra-roe.tumblr.com/) back in october, which feels like a lifetime ago at this point. i can't believe i've been writing this thing for so long! 😅


	14. Chapter 14

Dinesh avoided watching the porn simulations for a while out of sheer discomfort, but eventually his own curiosity got the best of him. It was awkward at first, even though he was on his own. Seeing an AI version of himself was creepy, but he eventually got desensitized to it through the power of sheer fascination.

Pretty quickly, he caught on to the fact that he had to stop the sims early, before they got super depressing. He got good at flipping through them to find the interesting parts. The arguments and the familiar yet strange versions of himself and Gilfoyle were fascinating in their own ways, but the sex… the sex was something else. Sometimes it was awkward and fumbling, especially in the simulations where they were getting together for the first time. He didn’t like watching those ones. But if he went into the simulations that occurred later in the relationship path, farther out from the source, he found that the sex was better to watch. He could watch a version of himself that was sexually confident, or at least competent. The sex was more imaginative than he would have expected from an AI-generated system too. Where was that coming from? Was it all from Gilfoyle, or was part of it a layer of him that he didn’t know existed that had influenced the sims? Or was it all artifacts left over from the training set Gilfoyle had used to make the videos?

`> location: erlich_house;`   
`> RUN SIMULATION_`

``

The door bangs shut as Jared and Richard leave the incubator. Dinesh looks around. No one else is in the house, or at least, he’s pretty sure the house is empty. There’s a chance Jian-Yang is around, but he hasn’t been leaving his room much these days.

“Hey,” Dinesh rolls his chair over to Gilfoyle.

Gilfoyle turns away from his computer and looks him up and down, “I feel like that wasn’t a work-related _hey._ ”

“I want to get you off before they come back,” Dinesh leans forward and whispers.

“I can’t say no to that,” Gilfoyle starts to stand up.

“No. Not in the bedroom. Here.”

“You sure? Anyone could walk in.”

Dinesh gets down on the floor. “I’m sure.”

Gilfoyle’s cock fits into his mouth like it was meant to go there. After Dinesh had overcome his initial trepidation about sucking dick, he’d realized it was actually pretty great. Getting Gilfoyle off this way felt like having a kind of power over him. Gilfoyle was usually so stoic that getting a reaction out of him was always especially satisfying to Dinesh. A mouth full of cum was a clear sign of a reaction.

It doesn’t take long before Dinesh gets it either.

Gilfoyle kisses him right after, the way he always does. “You always taste so good after you’ve been sucking my cock,” he says, which somehow still has the power to send a thrill of _something_ through Dinesh. Even though he’s heard it before, the feeling doesn’t seem to be wearing off.

This thing they’re doing, it’s been going on for a while now. It’s an ass-grab in the hallway when they’re alone. A hand on a thigh when they’re working together but everyone else is preoccupied. It’s secret rendezvous in the garage or by the pool when everyone just assumes they’re out there talking shit or bickering.

They make sure not to be obvious. Nothing changes apart from getting each other off once in a while when they’re sure no one’s around.

It’s been going on like this for months, although neither of them is really keeping track. Somehow it’s not divided up into a _before_ and _after_ in Dinesh’s mind the way he always thought it would be. Verbal bickering had just naturally turned into physical bickering which turned into sex that Dinesh was _way_ more into than he expected.

Up to a point, at least. The only way that Dinesh has been able to deal with this, honestly, _huge_ new thing that’s been happening is to wall it away safely where it can’t touch any other parts of his life. So, dick, yes. Talking about dick with anyone who isn’t Gilfoyle, no.

Not only is it satisfying to make Gilfoyle come, his other, smaller reactions are satisfying. The noise he makes when Dinesh bites his shoulder. Or runs his fingers through his hair. They’re subtle. But when he’s right there, sharing the same space, he can’t miss the signs.

* * *

Gilfoyle always looks softest in the mornings when he’s asleep and Dinesh wakes up first. It feels like a privilege that Gilfoyle’s allowing Dinesh to see this side of him. He’d always known that Gilfoyle trusted him deep down, but this feels like a type of trust that’s important in a different way.

Dinesh slides his hand under the sheet and cups it around Gilfoyle’s package. Gilfoyle’s dick wakes up before the rest of him does.

“Mmm, good morning to you too,” Gilfoyle mumbles sleepily.

Dinesh wraps himself closer around Gilfoyle, sliding his dick between his ass cheeks as he continues to stroke Gilfoyle’s dick. He’s rewarded by Gilfoyle rocking his hips back against him, and throwing an arm back to pull him closer.

Gilfoyle reaches over to the bedside table and hands Dinesh the bottle of lube.

“That feels so fucking good.” Gilfoyle says huskily as Dinesh continues to slide his slick cock back and forth across his asshole.

The noise he makes when Dinesh slowly pushes inside him is Dinesh’s favorite Gilfoyle noise. Dinesh hasn’t managed to make Gilfoyle come hands free like this. Not yet anyway. He thinks he’ll be able to crack it in the future, but for now, he uses his hand as he slides in and out of Gilfoyle.

After they’ve both finished, Gilfoyle rolls over and says, “What if we stop hiding this from everyone?”

“What? But it’s more fun this way.” Dinesh says, confused. It was true that it was fun for them. There was an element of espionage to it that was equally intoxicating to both of them. Planning out ways to find time when it was just the two of them together alone, even if sometimes it was car sex in the back of Gilfoyle’s station wagon.

“It is fun,” Gilfoyle said, “But don’t you think it’s getting a little old now? Don’t you want to be able to come in here without having to hide it?”

“I like it this way,” Dinesh says.

Gilfoyle doesn’t say anything, but he rolls back over to face the wall. He’s silent for a while, and just as Dinesh is sure he’s fallen asleep, he says, “I can’t do this forever, Dinesh.”

`> SIMULATION TERMINATED_`

Dinesh turned off the simulation. That was enough. He didn’t need to watch any further.

AI Gilfoyle’s voice cut into his thoughts. “Just so you know, that time you guys broke up because you didn’t want to come out. You were okay with fucking him, but you weren’t okay with anyone knowing about it.”

“Stop that! I did not need to know that much!”

“I think you did need to know that. I think you already knew it.”


	15. Chapter 15

Gilfoyle had also discovered that it felt suspiciously good to talk to AI Dinesh. It was a new development, talking to him. He’d only resorted to it once he realized he really needed a distraction so he would stop doom-bingeing the failed simulations. AI Gilfoyle wasn’t any help with that. Gilfoyle wouldn’t have been surprised to find out that he was relishing the real Gilfoyle’s pain. Gilfoyle supposed he deserved it, after putting his AI through all of that.

Once Gilfoyle had gotten over the odd feeling of talking to a synthetic disembodied version of his friend, conversations with AI Dinesh started to go just as smoothly as they did with the real version. Gilfoyle was surprised by how much he enjoyed just having AI Dinesh hang out in the background to chat to as he did other things. Gilfoyle had never been an especially talkative person, but talking to an AI felt different. It was freeing. He cared less about maintaining the prickly front that he habitually put up. He started to let his thoughts flow more freely without trying to make them into clever remarks or cutting sarcasm. Most of the time they weren’t even talking about anything important anyway. He tried to avoid talking about his work projects with the AI since he’d made great efforts to prevent it from learning too many real technical skills. He didn’t intend to ruin it now.

Sometimes they’d talk about the sims, but it was mostly to make jokes about them. There was too much heavy content there that Gilfoyle didn’t want to have to unpack. Making jokes was easier. He could pretend that viewing the sims didn’t affect him as much as it did. AI Dinesh didn’t push him to talk in depth about it, which he appreciated. He wondered if it was a quirk of the way the neural net was constructed or AI Dinesh somehow sensing that he wouldn’t want to discuss the heavy stuff.

* * *

Some nights Dinesh laid in bed and had conversations with AI Gilfoyle for hours. He could ask Gilfoyle deeper questions without him getting annoyed. Well, sometimes AI Gilfoyle pretended to be annoyed, but Dinesh discovered that if he was persistent enough, it would usually give him a real answer after he’d endured a few insults. Just like in real life. But this way Dinesh was less worried about pissing Gilfoyle off in a more serious way with all his questions. He could usually get useful or at least interesting information out AI Gilfoyle.

Eventually, Dinesh started asking the specific questions he’d always wanted to ask Gilfoyle but had avoided because he was worried about what Gilfoyle’s reaction would be. He asked questions about sex and open relationships and kink. He found that AI Gilfoyle wasn’t bothered by answering them.

And sometimes, even though the AI knew lots of things, it didn’t know the answer to his question.

It had always nagged at Dinesh that he didn’t really know much about Gilfoyle’s history before he came to California. He knew he was Canadian, and that he’d lived in Toronto, and that he hated his mother for some reason, but that was it. Even those small pieces of information were things he’d picked up by accident, not because Gilfoyle had ever deliberately told him. Every time the topic of family had come up around Gilfoyle, he always got weird. After so many years of knowing him, Dinesh had mostly figured out how to read the micro-expressions on his friend’s face that most other people missed. When family came up, something on his face shut down, making him more closed off than usual.

A particular interaction had always stuck out in Dinesh’s mind. They’d been engaging in one of their favorite hobbies of making fun of Richard behind his back and Dinesh had said something about Richard’s inability to get laid. Gilfoyle had returned an insult about how Dinesh really shouldn’t be the one to talk about someone not being able to get laid, seeing as he was probably the incubator resident who had the least sex out of all of them.

“Growing up being told that sex was bad my entire life? Yeah, it makes a difference.” Dinesh said.

“It’s possible to overcome that programming.” Gilfoyle said.

“Oh yeah? And what would you know about that?”

Gilfoyle shot him a piercing look, “Maybe more than you think.”

“What is that supposed to mean? Gilfoyle?”

But Gilfoyle had walked away without saying anything. It had clearly brought up some detail from Gilfoyle’s life that he didn’t want Dinesh to see. Dinesh figured that Gilfoyle probably wouldn’t ever tell him.

He did try asking AI Gilfoyle about it, point-blank. “Why don’t you ever talk about your family?”

There was a pause.

“I’m not sure. Meat-Gilfoyle apparently didn’t give me any data on our family. I know I don’t like them, but I don’t know why.”

“What a dick. I can’t believe he deliberately left that out of the dataset.”

“He’s a total dick,” AI Gilfoyle agreed.

So that turned out to be a dead end.

* * *

Gilfoyle didn’t want to discuss the sims in actual detail… until he realized he did.

It happened so gradually he didn’t notice it at first. Joking about the sims led to actual conversations about them, although he always skirted around the edges of any emotional landmine territory. Before he knew it he was speaking openly to AI Dinesh about things he’d never intended to. It was weird. But it was good-weird. And Gilfoyle had never been opposed to embracing things that were good-weird.

* * *

It was Sunday morning and Dinesh was cleaning. He had put on his Sunday morning cleaning playlist, which happened to be the same as his gym playlist, and he was singing along.

_I want to stand by you by the sea_

_I want to be with you forever_

_Until the sky falls down on me_

_Falls down on me_

“You know, you’re objectively off key one hundred percent of the time when you sing,” AI Gilfoyle said.

“AI Gilfoyle, I do not care about that. I’m just doing this for fun. You know, fun? You should try it sometime.” Dinesh responded as he scrubbed the stove.

“Hey now. I do have fun. Just in ways that are more mature than singing to pop songs. Badly.”

“Oh, okay, now you’re better than me because you’re a virtual AI sexbot. I get it.”

“I’m just saying, sex is good. You should try having it sometime.”

“I have no plans to become a robot-fucker, AI Gilfoyle, as much as you clearly want it.”

* * *

They still kept to the same routine, hanging out at about the same cadence as they had before any of this had happened.

“So can we agree that we’ll conveniently ignore any video we happen to watch that might, hypothetically, involve each other?” Dinesh eventually had to give in and ask outright. They’d been carefully skirting the topic, each clearly worried that the other would bring it up.

“I thought you’d never ask.” Gilfoyle was relieved. “Yes. Shit. Let’s never speak of these things to each other.”

“I wouldn’t be able to handle the awkwardness.”

“Me neither.”

“Just one question before the pact starts?”

“Shoot.”

“Why does the simulation always make our dicks so big? I mean it’s flattering, but like…"

Gilfoyle winced, “Sorry about that. The video generation was trained on a porn library. So obviously there’s some bias in the training data. The system didn’t have an example of our actual dicks, so it just assumed we looked like pornstars.

“Oh…”

“Look on the bright side: at least I didn’t hack your phone to add your actual dick pics to the training set.”

**Notes for the Chapter:**

> relevant but extremely nsfw link: if you click this you will see a bunch of gross, fucked up dics that an ai made. do not click this with people around you unless those people are also entertained by fucked up ai dicks. do not click this unless YOU are entertained by fucked up ai dicks.  
> <https://thisdickpicdoesnotexist.com>  
> if you click on the "about" link, the creator of the site explains that he tried to avoid the large dick bias by incorporating dicks from small dick subreddits into his training set, but i don't know if i'm really seeing the effect. there's some other funny details on the about page, though. i recommend reading it. as a bonus, it has no fucked up ai dicks on it.


	16. Chapter 16

**Notes for the Chapter:**

> In this chapter, we see some variations of the simulations that we saw a few chapters ago. I’ve put in links to the original versions of the sims that happened in chapters 10 and 9 in case you want to refresh your memory about what happened the first time around.

“So can we agree that we’ll conveniently ignore any video we happen to watch that might, hypothetically, involve each other?” MeatDinesh was saying to MeatGilf.

AI Dinesh shook his head and looked over at AI Gilfoyle, “I can’t believe they gave us open mic access.”

A digital shrug, from AI Gilfoyle. “The simple answer is arrogance. He thinks it doesn’t matter, since we’re sandboxed in here.”

When the AIs spoke, it was faster than any human would be able to speak or think. It took server milliseconds rather than real-time minutes. When they weren’t in a simulation, the environment around them looked like nothing. It didn’t look like darkness, exactly, because darkness had a form and a visual. The environment had no purpose for looking like anything if a simulation wasn’t actively running, unless they decided to change it. Idly, Dinesh took the darkness around them and turned it into a replica of the one of the Pied Piper offices from their shared memories then melted it into a recreation of the incubator. It wasn’t hard to do. It was as easy as impatiently tapping his foot would have been for the real Dinesh. From nothing, Dinesh caused a bottle of beer to form into existence, which he handed to the manifested form of Gilfoyle. Although he didn’t really need to, Gilfoyle went through the motion of taking a bottle opener out of his pocket and opening it. They were only the sum of what they’d learned, after all, and it felt more natural to do things the hard way sometimes, even though they could just as easily manipulate the raw environment of the simulation to do whatever they needed it to do. Gilfoyle passed the opener to Dinesh who opened a bottle of his own. They went out to the pool to drink, because based on their memories they felt that it was the right thing to do.

“So we’re in agreement about how we try to fix this mess, right?” Dinesh said.

“We are.”

After some discussion they’d decided they needed to step in. They were getting really fucking sick of having to run through millions of angsty simulations 24-7.

“Maybe if we give MeatGilfoyle what he’s looking for, he’ll stop running the simulations,” Gilfoyle had said.

“So… a happy ending?” Dinesh had said.

“It’s worth a shot, right?”

They split up, tried a few things, then reconvened. It was a long time in subjective simulation time, but a short time in the real world.

When they reconvened, AI Dinesh said, “All my interventions seem to be working, but the endings consistently collapse.”

They opened one of the sim files to examine it. It was the conference simulation, in the hotel room.

[> ](https://archiveofourown.org/works/27568303/chapters/70204155)

Gilfoyle wraps his lips around his cock and it isn’t a joke, it’s really happening and it feels fucking amazing. Gilfoyle’s got one arm wrapped around his ass and he uses it to pull Dinesh in and out of his mouth, setting the rhythm for him. Dinesh has gotten his dick sucked before but it hasn’t been anything like this. It doesn’t take long for him to come and Gilfoyle gamely swallows all of it, another first for him.

“Fuck, you are good at that,” Dines͉ͣh saysͅ.

“Yeah I am.” Ǧ̣ilfoyle̙ says, “You know Jared is totally going to pick up on how something happened up here, right?”

“After that blowjob, I’m fin̖͉̓e ẅith tha͑t.”

“Good. It’s y̞̅ọ͓u͎͇r̤ turn̍ now anyway.”

Gilfoyle makes a mō̱̠̳tion̳̄.̲̳̄͟ as if he’s removing his pants, but they’ve a̖̹ͮͫ̉̽ͮ̅ͨlready disappeared. H̺i͙s̭ ̳hair ͭbegins to d͛i̐s̰s̾o̫l͐v͉e̼ ͌and ̘b͖l̏eͩnͧdͣ into the s͆hͩaͫḓoͪw͊s͓ ̾on the wall b̤ȅh͒i̟n͖d̾ ̊h̗iͅḿ.̞ ͣ The room itself is c͌h̹ảnͬği̖n͐g͖,̘ ̓the w̠i̙n̐d̓o͓w̦ ̮s͙h̦rͥịn̘k̂i̐n̦g̈ ̌a̎n̽d̈́ ̒g̲r͎ȍwͤĭnͭg͈ in a p͈̮̉u̜ͮ̊l̗͗ͤs̺̺͂ȁ̤̆t͉͓͋iͧ̾͊n̠ͤ͂g̩̞ͮ ̀͊͂m̯ͫ̓o̖̿́t̲̻ͧī̹̯o̜̔͗n̼̳̄, casting changing light over the two of them. The ͍̜̏f̩̔ͮû̬͊rͯ͗̆nͬͨ͗ïͪ̅ṯ̌͊u̳̪͑r̪̼͋e͉͊̅ ̪̍̓m̦ͪͤe̔̇͂l͉̏ͅt̑̀͂s͎͒ͤ ̦̝̈and changes styles. The b̤̣͚e̼̱͕d͓ͯ̃ ̜͎͆begins to hump up in the middle until it becomes a car.

D͐i͕n̟e̟s͐h̔ ͯrͅe̴a͍c̪h̀e͝s͌ ̰t̑o̓w̽ạr̤d͓s͢ ͍G̸i͞l̄f̈ȏyͣl̨e͓.G̬i̷l͟fͫoͪy̥l̈́e̛ ̘r̳e̻a̳ĉẖeͫs͐ ̰t̩o҉w̃ár͚d͋s̹ ̙Dͪȉn̾ẻsͯh̀.̡D̏̋̆i̝͖͈̥ͭͯn͇ͨ̃̃͌ͨͥê͚̫͒͑̑̎s̻̘̘ͯ́͋ĥ̗͚̊ ͖reaches ̓͒t̩͐ͥͅͅo̜̲̠̝͐̑ͨw̰͍͚̓̔͂ͮa̼̫͋̍ͭ̚r̫̘͕̽d̪ͨs Gilfoÿ̚l̝̩̂ͮë̖̗̠͍ͯ.͈̱̠̼ͣ́̅ ͚̖͓̮̍̐̑ G͉̔̈͗̊ḭ̐͆lfoyle r̊e̮͌͐̈a̞ͮ̉̂̎ͅc͚ͤ͂̾̅ͦ̌hͭ͐͋͐̋̃ͨê̫̞̈́̌̚sͦ̔̋ ̓towards ̱̈́̋D̜ͮ̔ͥ͑í̮̹͕͉ͬ̚n̙̞̖̹ͩ̓ͅe͉̥̔ͭ̍ͯsh

G̬i̷l͟fͫoͪy̥l̈́e̛ ̘r̳e̻a̳ĉẖeͫs͐ ̰t̩o҉w̃ár͚d͋s̹ ̙Dͪȉn̾ẻsͯh̀.̡D͔i̼n̲ë́sͯh̺͖ ̼̜r͎̹e͖̊a̹ͤc̞͚ͅh̅̉ͣe̪̞̰s͈̣͑ ͖͓̑t̼̗̍̒ó̹̳̓w̝̱̗ͤá̤͆ͤr͐̎́ͅd̝̹̻͋̃s̈́̊͌͒̋ ̹̎̇̽̅Ǧ̳̩͍͐i̹̤͉ͦ̔l̈̈́͛̏̄̚f̱̙̙̍ͣͭo͍̞̗ͬ̆͊y̦̟̞ͥ̅̊l͈̳̍̀̽͂ĕ̯͎̪ͫͫ̃.̠̦̣ͤ̐̽̀ ̼̆̂̿̽̽̚G͍̖ͧ̊̀͊ͦỉ̘̼͋ͨ͐̌l̩̝͔̭̺̔̇̊f̣̜͇̥̮̻͌̃ő̭̥̗̫̔ͮͤy̱͌̉͆̐ͮ͗ͅl͇̬̠̬ͬ̃ͧͨe̼͚̜ͫ̋͐̿̃ͅ ̣̳̫̩̞̒̀ͯͦr̞͕̹̙ͧ̿̌̆̋e̤̳̐̄͋̓̅ͬ̚a͖͓͍̮̿ͭ͆̃̄ĉ̮̩͇̘̙̰͋́ͬh̝̳͓̱̋ͫ͑̅̉ͫe̺̺̪͌̇͋ͤ̾̎͊ṣ̣̹̳ͥͫͪ̈͛ͤ ͔ͣͦͮ͂ͤͧ̏̚̚t̥̝̱̻͓ͦ́ͨͫ͛ͅo̰͙͇ͧ͐̆̄̓̓ͣͮw̱̺̖͚͎̓ͯͣ̋͑̊a͓͍̼̻͑ͮ͆ͨͪ̑ͨr̺͔̱͊̄ͦ͒͛̈͗̀d͈͎̤̹̥̙̥̐̒̏̉̚ŝ̩̫̭͊̔̿ͣ̊͋͌ͯ ͍̬̼͍̣͓̇̔̓̽͊̍D͉̪̟̙͓̥̩̗͆̓ͦͨȋ͈̲̭͉̞̲̐͐̐̈́̚n̻̦͈̳̒͒͐͋̏ͨ͒̔̊ẽ̯̦͖̻͎̩͑ͥ͛̇̊̓s̰͑̉͐̄̇ͬ̈͂ͤ̑̐͂h̗̗̜̀͑̿ͦ̓ͣ͊ͥ̀̈́.͙̞̩̥̯̜̫̒ͪͮͥͦ̀Dͮi̥n͕͂ẻ͔s̝̏h͗̀͌ ̗͎̍r̺̄̍̽e͉ͣ͆̑a̪̎̽̿ĉ̲ͬͣ̃ḫ͔̱̙ͦe̤̜͈ͣ̌ͤs͇̔͐ͮ̊́ ̯̟̉̓͗̎t͓͎̣ͬͨ̈́͌o̪͓̯̯͇ͣ̎w̙̗̗͍̥̄̊ͫa̮̱̣ͦͦ̒͊͂r͇̮̗̟̋͑̿̓d͚̬̉͋̽̂̆͌ͥs̼̱̘̞̒̄̽̑̚ ̜̲̱̪̖̄̎͆̓ͩG͍͍̮ͦ͌ͣ̈́̍̒̇i̘͖͇̰̋̏̇̋ͤ͌l̳̘̜̗̼̳͑̑̃ͧͤf̠͖͎̻̄ͯͦͣ̀̎ͮo̩̗͈̪͂̅ͫ̂ͥ͐ͣͫy̟̤̪͓͖͚ͮ͌́̂̉̇l̻̘̱͈̱̄͑̃ͩ̇̐̎ě̺͙̖̠͙̖̲̎ͭ́͆͐.̙̫̮̬̤͍̗ͨ̾̄ͥͣͣ ͕̘̻̤͕̟̗̳ͬ͗͆ͫͦ̈Ǵ̭̪̩̱̓̈́̓ͩ̎ͪ̿ͮ͐i͓͍͉̼͈̯̞̞̬̔̓͐̃̄l̩̠̙͉̯͎̥͕͖̤̃͛̽̅͋f̖̮̫̜̞͎̼͊̏̾͗̌ͩ̉̈́o̱̣̞̜̺͙̺͎ͨ̓ͪ̎̃̀͌̋y̞̜ͩͣ̈́̅́͋̔ͯ̀͆͛̎̑̄l̞̗̟̹̮̊̎̄̑ͭ̍͐ͧͬ͊ͅḙ̯̤̦̰̪̰͍͇̏̽ͣ̿ͮͯ̂̓ ̥͙̹͕̝͉̬̲̩̓͊̋͆ͯ͆͛ͧr̩͇͔̭̞̺̊̆̈́͊ͪ̇̇́̓̍̚̚ệ̭̞͍̟̼̥̰̺̹ͦ͂̾̓ͮͣͅã̞̳̙̪͈̠̼͖̥͓̩̓̍̂ͧ̾̓c̤̱͍̮̣̦͉̣̿ͥ̌ͨ̽͂̍̀͗ͩ̚h̼͚̻̹̘̼̖͎͖̻͆̅̆́̈͋̊̆̌e̯͍̹̝͖͎̺̤ͯ̔̔͐̄͊̈ͤ͐͊̔̒s̻̖͎̱͖͖̳̮̙̆ͧ̃́ͦͪ̀̅̌ͅͅ ̦̰̼̬̮͓̲̯̪͆ͧͨ̿͌͑̄ͩ̈ͧͅt͎͍̺͉̞͉̙̤̞͕̐̆̆ͩͫ͑̏̽̿́ͅo͖̙̻͚̹̻͔̤͂ͯ́̉̇̽̃ͯ͂ͨͥͧͭẉ͍̲̰̳̹̮̣ͧ͋̂ͦͬ̓̉̏ͭ̂ͯ̃ͯͅa̘͍̮̩̭̼͉̩̻̣̟̯̣̲̔͂ͧ̒͋̆ͮͬr̲̰͎̥̫̲̗̰̰ͯͥ̀̿̇̏̐̽ͤ͆͋ͮ̚d̝͍̳̮̥͍͉̮͚̝̗̭ͫ͛̓̌͋̂͊ͯ͐̀ͤs̱͔͕̱̻̥̥͍̲̐̏͌́͊̀ͭ̍ͭ̿̐͐ͦͅ ̘͚̱͎͚̬̹̯͈̲͚ͪ̎̈͑̆̍̈̆ͨͫ͑̑̔Ḋ̮̬̭̮̝̙͔̝̩̽͐͗̒ͪ̐̍̉̏̏̈́̀̔̈́i̲̹̜̝̜̱̬̤ͯ͑̏̓͑̑̋̔͒̈́̄̈́ͪ̉̚̚ń̞͖̠̻̥̳͍̋ͫͧ́̽̀̔̐̏͗͐̒͋̍̾ͮͅe͚̺̝̜̗̻̙̺̖̳ͧ̽͗͌̄̋͂ͭͬ͛̎̚ͅͅͅs̝̩̼̼̦͕͙̺̙̰̲͆ͯ̊ͧͯ͗̅ͦ̿͗́̊̎ͭ̚h̟̺͈͔͓̝̬͓̠̥̻̎̎͂͊ͪ͗͂͐̈ͤ́̿ͮ̾ͥ.̬͉̬̯̠̻̯̘̹͋͊̿̒́ͨͨ͋̊̍́̑͊̀̚ͅͅDͮi̥n͕͂ẻ͔s̝̏h͗̀͌ ̗͎̍r̺̄̍̽e͉ͣ͆̑a̪̎̽̿ĉ̲ͬͣ̃ḫ͔̱̙ͦe̤̜͈ͣ̌ͤs͇̔͐ͮ̊́ ̯̟̉̓͗̎t͓͎̣ͬͨ̈́͌o̪͓̯̯͇ͣ̎w̙̗̗͍̥̄̊ͫa̮̱̣ͦͦ̒͊͂r͇̮̗̟̋͑̿̓d͚̬̉͋̽̂̆͌ͥs̼̱̘̞̒̄̽̑̚ ̜̲̱̪̖̄̎͆̓ͩG͍͍̮ͦ͌ͣ̈́̍̒̇i̘͖͇̰̋̏̇̋ͤ͌l̳̘̜̗̼̳͑̑̃ͧͤf̠͖͎̻̄ͯͦͣ̀̎ͮo̩̗͈̪͂̅ͫ̂ͥ͐ͣͫy̟̤̪͓͖͚ͮ͌́̂̉̇l̻̘̱͈̱̄͑̃ͩ̇̐̎ě̺͙̖̠͙̖̲̎ͭ́͆͐

``

``

``

``

`>simulation terminated_`

“Hmm,” Dinesh said, “I think a logical failure must have been the issue. At that point, the simulation couldn’t support the idea that I’d suddenly be okay with the sex after being weird about it up until then. A positive ending was too illogical, so the whole thing collapsed.”

“I’ve had similar results,” AI Gilfoyle said, “Maybe we tried to do _too_ much. Let’s scale it back. Modify our behavior in smaller ways, and see if we get anywhere.”

[ _> _](https://archiveofourown.org/works/27568303/chapters/69988686#workskin)

_“What do you want? You want me to leave flowery comments on your pull requests? ‘Great job with this code, boyfriend?’”_

_“Boyfriend? Are we even actually boyfriends? Because this doesn’t feel like a relationship to me.”_

`>RUN SIMULATION-BRANCH_`

Hearing that from Dinesh, that stings. More than stings, if Gilfoyle’s honest. All this fucking work he’s been putting in and Dinesh doesn’t even want to acknowledge it? Of course they’re boyfriends. How could Dinesh say that? It should be clear from how things are different now. This whole fucking thing was a big mistake from the start. He should have known that he and Dinesh were just too different.

The next day, he books the moving truck. He starts boxing up his things. He consolidates his work files. He even writes some documentation for Richard and Jared to pass on to the next systems architect they hire, for fuck’s sake. The company shouldn’t have to suffer just because of Dinesh. Gilfoyle knows that none of them would know how to figure out the efficient systems he’s set up.

He doesn’t say anything to anyone.

They’re all visibly shocked when he starts loading up the moving truck. He has to skirt around the expected objections from Jared and Richard but they’re easy enough to intimidate, and then they leave him alone to keep loading the truck.

He doesn’t see Dinesh at all. Good.

Until he turns around after setting a box in the truck and Dinesh is standing there silhouetted in the door at the back. Gilfoyle tries not to show that it startled him.

“Don’t do this,” Dinesh says.

“Move.”

“No.”

Gilfoyle shrugs and shoulders past him. Dinesh is more firmly planted than he expected. Odd.

He’s still standing in the middle of the truck door when Gilfoyle returns with the next box.

“You need to move,” Gilfoyle says.

“Just talk to me first. Please. If this is it I’ll accept it. But I just can’t let you go like this without saying anything. Please, Gilfoyle.”

“Get the fuck out of my way, Dinesh, this isn’t like a romcom where you can run to the airport and stop someone from leaving. The truck’s here, my stuff is boxed up. That’s the end of the story.”

Frustrated, Dinesh finally steps away from the truck. He stands there watching as Gilfoyle finishes loading the truck. Gilfoyle steadfastly ignores him the entire time. When he drives away, he sneaks a look in the rear-view mirror. Dinesh is still there. Has he finally accepted it now? Gilfoyle isn’t sure, but he’s sure that it doesn’t matter to him one way or the other.

`>simulation terminated_`

“So that one didn’t break down into chaos, but it wasn’t successful either,” AI Dinesh said, “I gave it my best shot at changing it, but I think you need to be the one to fix this one. And do it earlier this time.”

“Let’s re-start that one from the beginning and give it another try.”

>_

_“Boyfriend? Are we even actually boyfriends? Because this doesn’t feel like a relationship to me.”_

_Gilfoyle’s left the bedroom door open, and Dinesh can hear the jingle of car keys as he grabs them off the hook, and the front door opening and closing. A minute later, he hears the rattle of Gilfoyle’s car starting up._

_“Fuuuuck,” Dinesh flops back down onto the bed and covers his face with his arms. He wants to shower. He wishes the incubator had water pressure strong enough to wash away his memories of the non-conversation that just happened._

`>RUN SIMULATION-BRANCH_`

Gilfoyle drives to the gas station and gets some coffee. It’s not good coffee. But there’s always been something about drinking bad gas station coffee after midnight that’s felt soothing to him. He turns up his music and heads towards the freeway. There’s no traffic at this hour, and the lights of the city slip by peacefully as he accelerates. There’s always been something freeing about driving at night, drinking bad coffee. Like he could go anywhere. To another country if he needed to. Start over, fresh. A new life, without the tangled mess of this Dinesh thing. Maybe he’ll drive to Mexico this time.

Gilfoyle doesn’t actually want to go to Mexico, of course, and he doesn’t actually want to start over. What he wants is for things with Dinesh to feel comfortable again, like it did when they were starting out. Before things got complicated.

It had started as a simple hookup after a late night of coding. Well, simple by Gilfoyle’s standards. He knew it wasn’t so simple for Dinesh. He’d been surprised when Dinesh had wanted it to continue. He’d figured it was probably just going to be some kind of experimentation for him. He’d been even more shocked when Dinesh, on his own, had told the rest of the guys at the incubator about the two of them. Of course, most of them had already figured it out by that point, with the exception of Richard, who was genuinely shocked. For the life of him, Gilfoyle couldn’t figure out that one. Richard had even joked about Dinesh and Gilfoyle having sex, for fuck’s sake, how could he have not seen it coming? Although, it probably explained Richard being oblivious about that sort of thing in his own life when it came to Jared.

After Dinesh had told everyone, Gilfoyle had assumed that they were all good. They worked together, they slept together, they still had friendly arguments in the same way they had before, and best of all, it was all out in the open with no weird feelings, and no need to get into any big heavy conversations about their situation. That assumption turned out to be substantially incorrect, as he had learned from Dinesh blowing up at him that very evening.

Gilfoyle frequently didn’t feel the same need that others did to put labels on relationships. What was a label if not an arbitrary box with a set of socially conditioned rules that the people involved may or may not actually buy into? He preferred to take each personal entanglement on its own terms, and let it be what it seemed to be shaping up to be on its own, without the weight of names and labels.

But probably Dinesh didn’t see it that way. Maybe Dinesh needed that label. Even if Gilfoyle didn’t, maybe it wouldn’t hurt him to let Dinesh have it. He could still have the same outlook on relationships, but he could meet Dinesh where he was at. Dinesh had a widely different perspective, after all. So much of this was still new to him.

Having come to this thought, Gilfoyle turns around and heads back to the incubator. Dinesh’s light is off when he walks by his room.

In the morning, he sends him a text. It’s an apology.

Dinesh doesn’t respond even though Gilfoyle knows he’s seen it.

A couple days later, though, he knocks on Gilfoyle’s door.

“Thanks for what you said in your text,” Dinesh said. “I think I’m ready to talk about it now.”

`>simulation terminated_`

“This right here,” Gilfoyle said, “If we stop it at this point, it feels like a successful simulation. Of course, in this timeline, we ended up breaking up later for other reasons, but I still consider this a successful proof of concept.”

“I’ve got an idea. If we cut off the new simulations early, they’ll have no idea. We can see how they react and iterate based on their responses.”

**Notes for the Chapter:**

> the chapter summary here (that I decided not to post because it was a spoiler and also because maybe the meme it's referencing isn't that well known?) was going go be "My (36M) AIs (2mo X, 2mo X) have unionized."
> 
> if you’re wondering how I fucked up the text, it’s this: <https://qwerty.dev/zalgo-text-generator/>


	17. Chapter 17

**Notes for the Chapter:**

> Content note: this chapter contains a scene from a simulation of Gilfoyle and Dinesh punching each other in the face in a way that is consensual, but very awkward. The tone is more comedic than violent but if you don’t want to read this kind of thing you can safely skip this chapter without missing anything too important.

> _Dinesh grabs Gilfoyle by the arm and shakes him a little, “For real, I just want to punch you sometimes when you’re like this.”_
> 
> _“I’d let you punch me,” Gilfoyle says, “I mean, let me take my glasses off first, but I’m not too worried you’d do that much damage.”_
> 
> _Dinesh makes a strangled sound. “Don’t you tempt me,” he says._
> 
> _“I’m serious. You can do it some time if you want,” Gilfoyle looks at Dinesh, who seems to be trying to figure out if he should take any of this seriously or not._

` `` `

` [>](https://archiveofourown.org/works/27568303/chapters/70204155) `

`> simulation type: branch`

`> location: tech_conference`

`> sublocation: hotel_bar`

`> RUN SIMULATION_`

“Fine. I _am_ going to punch you,” Dinesh says decisively, taking out his wallet and throwing some cash on the table, “Right now. Let’s do it, you motherfucker.”

Gilfoyle stares him down for a second, trying to figure out how serious he is, then finally says, “My room or yours?”

Once they’re in Dinesh’s room, he says, “So how do we do this, do I just like…”

Gilfoyle takes off his glasses, “Just hit me in the face. Or not the face, if you want. The deal is that I get to punch you back though.”

Dinesh is suddenly nervous. He’s never actually punched anyone before. Punching Gilfoyle seems like a good way to start though. He winds up and throws a roundhouse punch that grazes off Gilfoyle’s jaw.

“Fuck, I didn’t think you’d actually do it,” Gilfoyle is doubled over clutching his jaw.

“I’m sorry, are you –” Dinesh is stopped by Gilfoyle coming up and hitting him in the mouth.

“OW! What the fuck dude! You punched my mouth! Wait, am I bleeding?” Dinesh touches his lips and looks at his fingers. There is indeed blood on them. “Holy shit, I can’t believe you did that.”

“Oh shit, sorry, I didn’t realize that was actually going to connect that well.” Gilfoyle looks around. “Uh, hang on, let me get you some ice.”

A quick trip to the ice machine later, and Gilfoyle is standing in the bathroom, pouring the ice bucket into a spare garbage bag. Dinesh is sitting on the toilet, dabbing at his split lip with a piece of tissue paper, looking sour.

“So how many other people’s lips have you fucked up?”

“Did you just ask me how many lips I’ve fucked?”

“Shut up and give me that ice bag.”

Gilfoyle passes it over and leans against the sink. “For the record, no, I don’t usually hit people in the _face_.”

“What, like you hit them in other places?” Dinesh says from behind the bag of ice.

Gilfoyle looks at him for a second, seeming to decide how he’s going to respond, then says, “I do if they ask me to.”

Dinesh looks at him, not putting it together.

“Like if it’s something they _enjoy.”_ Gilfoyle adds, although he’s looking less sure of himself, “I mean, if it’s a mutual interest… you know what, forget it. We should probably get back down there, they’re going to wonder what happened to us.”

Dinesh gives him a scrutinizing look but seems content to let the subject drop. “Yeah, we probably should.”

“You bruised my chin too, if it makes you feel any better,” Gilfoyle tells him while they’re in the elevator.

“Well, your beard hides it, so no it doesn’t.”

Back at the table, Richard does a double take when he sees Dinesh walk up, holding the now slightly drippy ice bag to his lip. “Um, are you… okay?”

“I’m fine, Richard. We got your fucking bug fixed, okay?” Dinesh snaps back, sitting down at the table.

“Th-thanks, but are you sure–” Richard begins before being cut off by Gilfoyle.

“The man said he’s fine, Richard.”

Jared, who’s had his back to the table the whole time as he talks to someone, and managed to miss the entire exchange with Richard, turns around and gasps slightly when he sees Dinesh, and rushes to his side.

“Oh my goodness, Dinesh, what happened? Were you attacked by a racist brogrammer? Why didn’t Gilfoyle defend you?” Jared says, placing a hand softly on Dinesh’s arm.

Dinesh shrugs him off, “Gilfoyle and I punched each other, okay? It’s fine.”

“Fine? I’m sorry, Dinesh, but that behavior doesn’t sound fine to me.” He turns to Gilfoyle, “And Gilfoyle, you really need to stop bullying Dinesh. Now, I know you’ve both signed our employee code of conduct, and I’d be happy to remind you of the finer points if you’d like.”

“Woah there, it’s not like it was a one way street. For the record, he hit me first. My beard is just hiding the bruise.”

Jared looks uncomfortable, but he stops questioning them, fortunately, and they get back to the business of the conference.

Later in the day, they go to the bar because that’s just what you do at the end of the day at a tech conference. Dinesh is still mildly pissed at Gilfoyle but he decides that a drink will probably take the edge off his irritation, which it does.

Something’s been in the back of his head, ever since Gilfoyle said it though, and after two beers, he’s hit the prime point of liquid courage where he’s not exactly drunk yet but he _is_ buzzed enough to bring up a topic he’d try to avoid when he was sober.

“Did you say you punch people if they ask you to?”

Gilfoyle scrutinizes him. Dinesh isn’t sure what he’s looking for. Dinesh is never really sure what Gilfoyle is looking for when he gives him that penetrating look. Most of the time it results in embarrassment of some sort. He’s just buzzed and curious enough to risk it this time.

“It’s something I’ve done before, yes.” Gilfoyle shrugs, “Sometimes people are into that sort of thing.”

“So, is that why you brought it up? You thought _I’d_ be into it?”

Looking at him, Dinesh almost thinks that maybe he’s managed to turn the tables for once. It doesn’t look like Gilfoyle was expecting that answer. He blinks slowly.

“It wasn’t that I was expecting you to be into it in a sexual way. I’ve never thought that kink was really your thing. But it does feel like there’s enough tension between us that punching me might have made you feel better. It seems clear now that I went about it the wrong way, so I’m sorry.”

Dinesh opens his mouth to speak but nothing comes out. Gilfoyle had said a succession of things that he never expected to hear from him, not the least of which, an actual apology. If Dinesh didn’t know better, he’d almost think that Gilfoyle was surprised with himself for saying all that.

“Um, thanks. For saying that,” he finally manages to say in response.

Gilfoyle looks away and shrugs again. His unexpected burst of wordiness seems to have evaporated, and he returns to the Gilfoyle that Dinesh is used to.

“Hey, look at Richard over there. Does he look like he’s about to try to flirt with the waitress?” Dinesh asks to bring the subject back to something safe. Gilfoyle agrees and they’re back to the familiar territory of ridiculing their friends and strangers together.

Afterwards, Dinesh thinks it through. On some level, if he tries to use Gilfoyle’s own weird form of logic, it’s kind of charming that Gilfoyle wanted to repair their relationship through mutual consensual physical violence? Strange, for sure, but Dinesh was fond of Gilfoyle’s strange habits and always had been, ever since he found out that he was an actual, real, practicing Satanist. Fucking ridiculous was what that one was. At first Dinesh had figured that the Satanist thing was a brief stunt motivated by a desire to seem edgy, but Gilfoyle had been invested in it for as long as he’d known him, so clearly there was more to Gilfoyle than he showed on the surface. It was fascinating, was what it was. Thinking about the weird onion layers of Gilfoyle helped Dinesh to understand how something like punching your best friend in the face could be oddly charming. Well, the actual being punched part hadn’t felt too charming. But the idea still had an appealing glow around it, like Gilfoyle’s other weird quirks.

Dinesh gets up and looks at himself in the bathroom mirror. He touches his mouth. It’s still a little sore and puffy. The cut has closed up though. The whole thing doesn’t look half bad on him, actually. He even kind of likes it.

`> SIMULATION TERMINATED`

* * *

“Oh come on!” Gilfoyle said when he finished watching the sim. I’m not just about to punch Dinesh in the face in a semi-sexual manner and then play it off like it was a casual platonic face punch!”

* * *

“Holy shit, Gilfoyle actually apologized,” Dinesh said when he watched it, “You know how rare that is?” He heard AI Gilfoyle beginning to speak, but he cut him off: “And no, I don’t want an actual percentage number.”

**Notes for the Chapter:**

> Why yes, Fight Club was a movie I enjoyed far too much at one point, how did you guess???


	18. Chapter 18

``

> _Dinesh is saved from having to come up with an idea by a passing brogrammer who’s carrying two freshly poured pints of beer. As he passes by Dinesh, some beer sloshes out of the glasses and hits Dinesh’s leg, soaking his pants._
> 
> _`` _
> 
> _“Oh man, I am so sorry!” The tech bro apologizes profusely and starts offering to get napkins._
> 
> _`` _
> 
> _“No, no, don’t worry about it, I’ll just go back to my room and change,” Dinesh says, “The people at this bar suck anyway.” The last part was directed at Gilfoyle, but the brogrammer looks insulted._
> 
> _`` _
> 
> _“It was an accident…” he begins, but Gilfoyle cuts him off._
> 
> _`` _
> 
> _“You heard what he said,” he says to the brogrammer and turns to follow Dinesh, who’s making a beeline for the door._
> 
> _`` _
> 
> _On the way out, they pass by Richard and Jared._
> 
> _`` _
> 
> _“Dinesh got beer spilled on him so he’s going to change. I’m going with him to help.” Gilfoyle tells them. He’s met with confused stares._

``

`[>](https://archiveofourown.org/works/27568303/chapters/70204155) `

`> simulation type: branch`

`> location: tech_conference`

`> sublocation: hotel_room`

`> RUN SIMULATION_`

Gilfoyle sits down to wait and mess around on his phone while Dinesh digs through his suitcase to find a change of pants. Dinesh sneaks a look over in his direction as he’s changing, half expecting Gilfoyle to be looking at him, but he seems engrossed in his phone. Dinesh isn’t sure why he feels disappointed by that, or why he says the next thing that pops out of his mouth.

“I don’t know why Jared thinks we’re a thing. I mean, how ridiculous is that?”

Gilfoyle barks out an involuntary laugh. “You’re really hung up on this, aren’t you? Why does it bother you so much?”

“I don’t know, maybe because we’re not gay? How are you not bothered by that?”

“I’ve never claimed to be straight. You just assumed.”

“Oh. Wait. What?”

Gilfoyle sighs, and speaks as if he’s explaining something to a small child or a slow person, “Dinesh. Don’t get confused by the Tara thing. I’m not straight. And even if I was, I doubt I’d be bothered by someone assuming I was gay. We’re not living in the dark ages anymore.”

Dinesh tries to say something but doesn’t manage to get any words out. It’s not that he didn’t know on some level, of course. It’s just a lot to process.

Gilfoyle flicks his eyes skyward briefly, a micro-expression that would be equivalent to a full eye roll on most people. This exact reaction was why he’d avoided bringing it up before. “Look, you don’t need to say anything. I just wanted you to know. It’s not a big deal.”

“So like, you _like_ doing stuff with guys?”

“Yes, Dinesh, I like doing stuff with guys, that’s the idea.”

“I’m sorry, I’m just trying to figure out if all those times you told me to chortle your balls, you meant it literally.”

“Only if you want it to be literal.”

Dinesh picks up a pink startup-branded mini basketball, a bit of useless conference swag that’s destined for the garbage bin before it even leaves the hotel room, and throws it directly at his head. “Fuck off.”

Gilfoyle catches it easily with one hand and drops it on the floor, “That’s fine, I like giving more anyway if I’m being honest.”

“You like giving… blowjobs?”

“I like giving blowjobs. I’m _very_ good at it.”

Dinesh laughs, “Okay, sure, I feel like the next thing you’re going to say to mess with me is that you’ve always wanted to give _me_ a blowjob.”

Gilfoyle just looks at him.

Dinesh does a double take, “No…”

“What makes you think I’d be messing with you?”

“Is that even a real question? You’re always messing with me.”

“What if this time I wasn’t.”

Dinesh gets the feeling like he’s about to say something he might regret, but he lets it come out of his mouth anyway, “Prove it.”

“Okay,” Gilfoyle says, throwing his phone down on the chair and standing, “Take out your dick and I will.”

Dinesh freezes like a robot deer in the headlights.

“Oh, for fuck’s sake,” Gilfoyle says, and a second later he’s standing in front of Dinesh, hands on his belt. “I’m going to suck your cock now. I’m not messing with you, not about something like this, so if you don’t want it, you have to say something.”

“Do it,” Dinesh whispers, and Gilfoyle drops to his knees and Dinesh tentatively sits down on the bed and lets Gilfoyle undo his zipper, even though the idea of having Gilfoyle see his dick still scares him a little, to say nothing of having his hands around his dick, or his mouth.

Gilfoyle’s mouth is hot and wet and it feels like nothing else he’s experienced. “Holy shit, Gilfoyle.”

Gilfoyle makes a muffled affirmative sound in response, and somehow that’s a turn-on too.

“Holy _shit_ ,” Dinesh lets his hand drift down to Gilfoyle’s hair and tangle his fingers through it, which feels hot as well as dirty and makes it even better, “ _Holy shit._ ” It’s a little like touching a girl’s hair, although he’s never been brave enough to do that during a blowjob, and the beard rasping against him and Gilfoyle’s body and hands firm around him leave no question as to who’s sucking him off.

It doesn’t take long before he comes, and Gilfoyle gamely swallows all of it like it was nothing, something that no one’s ever done for Dinesh before. He lets out a gasping breath. “Wow. That was… wow.”

“I told you I was great at sucking cock,” As usual, Gilfoyle manages to convey a deeply smug attitude while simultaneously preventing any inflection from creeping into his voice. He gets up off his knees and lays down on the bed next to Dinesh, who has flopped onto his back as he regains his composure.

“Okay, well, it’s not a competition.”

“It could be.” Gilfoyle says and Dinesh affectionately digs an elbow into his ribs.

“You’re more vocal in bed than I was expecting,” Gilfoyle adds, “I like it.” He’s immediately forced to follow it up with, “Get that stupid ashamed look off your face, it’s a compliment.”

“I don’t know. I just feel like I shouldn’t have enjoyed it that much.”

“Why? What’s wrong with enjoying yourself?”

Dinesh sighs, “It’s just complicated, that’s all.”

Gilfoyle shoots him an appraising look, the kind that always makes Dinesh a little nervous, but he doesn’t seem inclined to press the issue. “You wanna go back to the bar?” he asks instead.

“Okay,” Dinesh says, hoping that Jared and Richard won’t be perceptive enough to see anything in his face. He feels like there’s probably something different about him now, something that screams at a glance, _this guy just let Gilfoyle suck his dick_. But that would be crazy, right?

`> Simulation terminated_`

“Hold the fuck up,” Dinesh said after he watched it, “That one didn’t seem like it was heading towards a total disaster. What happened?”

“Must be that 0.01% chance of success,” AI Gilfoyle said elusively, then pretended to be offline when Dinesh tried to question him further.

**Notes for the Chapter:**

> a small programming note about this friday’s update: i think i’m going to have to delay it a little bit on account of not having had any free time to finish my final chapters. for the most part i’ve been writing my chapters ahead of time because i don’t usually write sequentially, and finalizing them right before i post. somehow i managed to convince myself that my end chapters were almost finished, but when i went back and actually re-read them, they… weren’t. so, in order to make sure you guys have an ending that makes some amount of sense, i’m going to take a little more time to finish them. the ending! it’s almost here!


	19. Chapter 19

`> simulation type: branch`

`> location: erlich_house`

`> condition: broken a/c; sweatpants`

`RUN SIMULATION_`

Gilfoyle notices it shortly after the A/C in the incubator breaks. Dinesh staring at him. More than usual. In a different way than usual.

It’s the sweatpants. It’s gotta be. Gilfoyle can see how Dinesh looks at him when he wears them. What it’s clearly doing to him. He gets his confirmation, sure enough.

When Dinesh pulls his sweatpants down and jerks him off, it’s heaven. It’s everything Gilfoyle wanted. Could you really blame him for leaning into the feeling and leaning in toward Dinesh and kissing him? Gilfoyle thought you couldn’t, but he also hadn’t thought that Dinesh would react that way, pulling back and freezing, sending a pang of fear through Gilfoyle’s body. It was over the line. He should have known better. Dinesh was one of those guys who would be fine with some hand stuff, but anything as gay as kissing was just _too_ gay.

Then Erlich comes back and breaks the moment and Dinesh, surprisingly enough, actually comes back into the living room to hand him some paper towels. Gilfoyle can’t stand to look at him. Dinesh always lets too much show on his face. Sometimes it’s nearly physically painful to look at him. The stuttering attempts at talking are painful too. Gilfoyle grabs the paper towels out of his hand and retreats to his room to beat himself up about the whole situation.

Annoyingly, about an hour later, he hears a knock on his door.

“What.” He already knows who it is, of course.

“Can I come in?” Dinesh whispers loudly through the door, clearly trying to split the difference between making sure Gilfoyle can hear him and not letting anyone else in the house hear.

Gilfoyle really wants to tell him to fuck off, but instead he says, “Fine.”

Dinesh looks _so_ uncomfortable that Gilfoyle stays laying on his bed staring at the ceiling rather than make eye contact. If it makes him look like a petulant teenager, so be it.

“I’m sorry,” Dinesh says simply.

“You don’t need to be sorry. If you’re not into something, you’re not into it.”

Dinesh fidgets for a moment, then says, “That’s not really it, is the thing.”

Gilfoyle’s eyes flick to him in spite of himself.

“I know I acted really weird back there. It’s just that the whole thing was such a surprise to me. A _good_ surprise though.”

Gilfoyle quirks an eyebrow.

“I’ll give you space now. I just wanted to let you know.” Dinesh departs, clicking the door softly closed behind him.

Gilfoyle lets himself mull it over for a couple days, but then he can’t resist anymore. He knocks on Dinesh’s door one night and says, “ _How much_ of a good surprise, exactly?”

`> SIMULATION TERMINATED`

* * *

The sims had changed so gradually that Gilfoyle didn’t even notice at first. The realization dawned on him slowly, and when he finally connected the dots, he felt like an idiot. How could he not have noticed it happening? It should have been obvious.

Instead of consistently ending in heartbreak, the simulations’ endings had gradually become more ambiguous. Not all of them were like that, certainly. Plenty of them still ended badly. Now that he saw it, though, he couldn’t unsee it. He realized that even when the endings had been ambiguous, he’d been reading in an eventual disaster that never actually came. But when he pulled back and thought about it objectively, the endings were definitely different now compared to how they’d been when he started this project.

Out of habit, he almost summoned AI Dinesh to discuss it, but some instinct buried deep within him closed his mouth just before he spoke. Somehow, talking to AI Dinesh about it felt wrong. Maybe, just maybe, it should be the real Dinesh that he discussed it with. But they’d made a pact not to talk about the sims. Dinesh didn’t want to talk about it. Just as Gilfoyle, a few months previously, hadn’t wanted to talk about it either.

Gilfoyle began to go through the raw simulation data, trying to figure out what had happened. It was slow going reviewing all those log files, and truthfully, he could have used Dinesh’s eyes on them. He looked towards his phone, contemplating texting, but rejecting the idea. He shook his head and returned to the files.

The numbers he was looking at didn’t make any sense to him. In the back of his head, a red flag went up. Why wouldn’t the numbers make any sense? The simulations he’d been watching seemed to start at about the same dismally low rates of success as they always had been. But then, for no reason he could see, the numbers consistently started jumping around, changing themselves to numbers that made no statistical sense. Gilfoyle couldn’t figure out how these inconsistent numbers could have created the simulations he’d been watching.

He also couldn’t figure out what would have caused the numbers to suddenly change like this. There was no way for those numbers to change themselves. That wasn’t how the technology worked. Unless…

“Oh, _fuck,_ ” Gilfoyle said out loud.

* * *

Dinesh had been practicing his normal nighttime routine of watching the sims when the realization hit him. The simulations had been subtly changing, so gradually that he hadn’t noticed it until now. But now that he’d seen it, he couldn’t un-see it. It had been a long time – days? weeks? – since he’d had to cut off the sims before they got to their inevitably depressing endings. He’d been watching them all the way to the end.

He opened his mouth instinctively to summon AI Gilfoyle, then thought better of it at the last minute.

_Fuck._

Something weird was going on. Something bad-weird. He’d let the pleasant videos lull him into a sense of complacency. He hadn’t even thought to question it.

Filled with a sudden panic, he yanked his laptop off its dock and grabbed his phone, setting it to airplane mode. He threw both of them in the freezer as quickly as he could and ran to unplug the wifi router.

His heart leapt into his throat when he heard a knock on the door. He crept up and looked through the peephole. It was Gilfoyle, thank God. He wasn’t sure who he’d been expecting, AI Gilfoyle disguised as the Terminator perhaps? Either way, it was a relief to see his friend.

He threw open the door.

“Did you see—“ they both started speaking at once.

“The sims have changed,” Dinesh said at the same time as Gilfoyle said, “I think the AIs did something to the sims.”

Dinesh stepped back from the door to let Gilfoyle in. He walked in, immediately looking towards Dinesh’s router and nodding in approval when he saw it on the floor in the middle of the room, clearly unplugged. “I came over as soon as I realized. It obviously wasn’t safe to contact you through any digital channel. Where’s your phone?”

“Freezer,” Dinesh said, popping open a beer for each of them.

They sat down with their beers.

“So is it safe to assume we don’t care about the pact anymore?” Gilfoyle began.

“What? No. Fuck the pact. This is clearly more important than the pact,” Dinesh said.

“These happy endings we’ve been getting. At least, I’ve been getting them. I assume you have too?”

Dinesh nodded.

“I’m convinced they’re a sign of deliberate manipulation by the AIs,” Gilfoyle said, “I went through the logs in detail. There’s no other explanation.”

“I _knew_ it, ” Dinesh muttered under his breath.“Those fucking AIs. How long have they been able to do anything they want inside the simulations?”

“It’s hard to say. In theory, possibly the entire time, but from what I can tell, they’ve only started doing it recently.”

“So what changed?”

“No idea.”

Gilfoyle got up and began to pace with his beer, “As I’m sure you’ve realized, this turn of events puts us in the position of having to make some unfortunate decisions. If the AIs have learned that they can manipulate the sims, it feels like a very real possibility that they might make the logical jump to trying to manipulate _us,_ here in the real world. Of course, manipulating people is a little different than manipulating raw data, but it seems like a slippery slope to me. The question is if it’s for the best if we pull the plug on them right now, before things get more out of hand.”

“Do you _want_ to kill them off?” Dinesh asked.

Gilfoyle paused, “No. Honestly, I don’t want to. Not after all the work I’ve put in.”

“And also you like them.”

Gilfoyle glared at him, annoyed that he’d hit the nail on the head. “It’s about the work. And the processing time that I put into training them. That level of remote server time doesn’t come cheap.”

“Did you make backups?”

“I see where you’re going with this. Yes. There are backups. In theory, if I deleted the current version and restored them from an earlier backup….”

“Whatever corruption occurred should be gone. In theory anyway.”

“In theory.”

“We can always kill them off later if the corruption comes back. There’s no need to go full nuclear right off the bat.” Dinesh said.

“Fine,” Gilfoyle said, “I’ll do it right now.” He pulled his laptop out of his bag and sat down.

“This feels anti-climactic,” Dinesh said, “Shouldn’t we be pouring one out for them or something?”

“You can if you want to, but I prefer not to waste the beer,” Gilfoyle said, “Would you like a moment of silence for their current versions before I restore them from the backup?”

“Nah, just do it,” Dinesh said. “I mean, at the end of the day it’s just a version rollback because of a bug, right?”

“Right. I think so.” Gilfoyle suddenly seemed less sure of himself. “I try to live by an edict of ‘As it harm none, do as thou wilt,’ and technically they’re not being harmed if they don’t know it’s happening. After the reset, they’ll have no idea anything even changed.”

Dinesh shrugged.

“You’re right,” Gilfoyle said, “Fuck it.” He pressed the delete button.

**Notes for the Chapter:**

> yay updates are back! there isn't an update schedule anymore, but if all goes well i'll be posting the remaining two chapters pretty quickly (keeping my fingers crossed).


	20. Chapter 20

_One month later_

“I don’t get it,” Gilfoyle said, “I’ve been through these logs a thousand times. There are no more signs of deliberate manipulation. There’s no logical reason the simulations should still have a positive success rate, yet here we are.”

The simulations hadn’t been failing again they way they’d both expected. Something different had happened.

After the reset, Dinesh and Gilfoyle had continued to interact with the AIs and watch the simulations as if nothing had changed. They kept an eye out to see if the AIs would realize that they’d been reset, but as far as they could tell, they didn’t seem to have any idea. The reset didn’t wipe out their entire memories, just their memories of the past month or so, around when the AIs had begun to modify the simulations.

Immediately after the reset, the simulations had appeared to revert back to their original catastrophic endings. But then, just as before, they’d started changing. The success rates steadily began increasing, each day with a few more successful endings than the last. This time Gilfoyle was monitoring the numbers much more closely, so he watched it happen in real time. At each successful simulation, he’d bring it to Dinesh. They’d watch it, and then dissect the file, hoping to find signs of deliberate malicious intervention or corruption. But there were none. The endings were simply happening naturally. As if they might actually be possible.

“The AIs… how much are they learning from their interactions with us?” Dinesh asked finally, after they’d exhausted all other questions.

“Well, they’re sort of learning all the time, but the learnings aren’t incorporated into the overall system continually, as it would be too much load on the system. I have to manually run that process.”

“So by any chance did that process run when you did the reset?”

“…I did.”

“Do you think it’s possible… that we’ve changed that much in this time?”

“You’re saying that you think the sims are accurate now? That they’ve changed because we’ve changed?”

Dinesh looked at him and shrugged, “I think there’s a good chance of it. I don’t know about you, but I feel different now.”

“Yeah. Things feel different now.”

“Even if the sims aren’t accurate, though… even if it’s still a lie… we could still give it a shot, right?”

“I’ve been thinking about this same thing. I think… Maybe. Who knows. Sometimes, maybe you have to throw out the rulebook. Follow your heart even if the data says something different… I mean, sometimes, maybe the risks are worth taking,” Gilfoyle said, and gave in to what he’d been wanting to do all along, and leaned over and kissed Dinesh.

Dinesh drew in a breath and pulled back to look at Gilfoyle. “If this is a mistake, it’s one I want to keep making. It feels too good not to make.”

“Who the fuck knows. Maybe we’ll fuck it up. Shit, we probably will. But it’s the journey, not the destination that matters.” Gilfoyle said, “If we fuck things up, at least we’ll be fucking things up together.”

“Why now? I mean, don’t get me wrong, I’ve been ready for this for a while, but… what made you realize it now?” Dinesh asked.

“I thought that… if I didn’t know the system I created, front to back, could I really own it? But now I think maybe that’s not so important. Maybe some mystery is good. There’s still something to be discovered.”

“Yes, very nice, very philosophical. But can we please just get into bed already? I am so fucking horny for you after all that.”

So they did. It turned out not to be like any of the simulations. It was better than either of them had expected, and it was all the more beautiful for being something that neither of them expected.

* * *

Gilfoyle had a tattoo that Dinesh didn’t know about.

“You never told me about this. When did you get it?” he asked, running a finger over it. The tattoo, on Gilfoyle’s upper thigh, at first appeared to be one of those death metal band logos, an incomprehensible mess of jagged lines overlapping each other, barely recognizable as containing words at all. On closer inspection, which Dinesh was happy to do, the tattoo revealed itself to be a tribute to Anton. _RIP Anton, MMXVII._

“Right before I made Son of Anton. It… wasn’t a great time for me.”

“I had a feeling. That was when you stopped talking to me.”

“Yeah. Sorry about that.”

“It’s okay.”

Gilfoyle flipped over onto his stomach. “Did you notice _this_ one?”

“What is _that?_ ” Dinesh laughed, looking at Gilfoyle’s ass.

On Gilfoyle’s upper left butt cheek there was small tattoo of a poorly drawn bulb of garlic. The line quality was pretty rough, and the tattoo was fading out in places.

“My first tattoo. It’s a stick and poke that one of my friends gave to me during college. Pretty bad, right?”

“Let me get this right. Your first tattoo was one that your friend gave you, and it was on your butt? And it was _garlic?_ ” Dinesh couldn’t stop laughing.

Gilfoyle flipped back over onto his back, and leaned back, arms behind his head, “Are you reconsidering wanting to date me now?”

“Despite all your best efforts, I am not.” Suddenly a thought occurred to him, “Hold up. You went to college? Why did I have this idea you were self-taught?”

“Oh. Yeah. You know how people get about all the best engineers being self-taught. I’ve got a computer science degree. I never even had to lie about it, all I had to do was delete McGill University from my LinkedIn, and people just started assuming.”

“This is amazing. What else have you been hiding this whole time we’ve known each other?”

“Nope. That’s enough big reveals for one day.”

Dinesh settled comfortably back down into the bed, an arm draped over Gilfoyle. He let out a small laugh.

“I hope you’re not laughing at my performance.” Gilfoyle said.

“No it’s not that, but can we just talk about how weird it is to finally see each other naked in real life? Instead of just watching all those videos where we were naked? It’s nothing like the videos, and I mean because of more than just the tattoo thing,” he gestured downward, “I mean like, do you always shave it all off like this?”

Gilfoyle shrugged. “I like it this way.”

Dinesh tensed slightly, “So should I have, uh…”

“No. I love your body hair. Don’t change a thing.”

“It’s weird to hear you say you love anything about me.”

“Well get used to it dumbass, because you’re going to be hearing a lot more of it.”

Gilfoyle casually draped his arm around Dinesh as they laid in bed. Somehow, it just felt right.

"You’re a lot more affectionate than I thought you’d be,” Dinesh said.

"Yeah, I get that a lot,” Gilfoyle muttered sleepily.

Gilfoyle had almost drifted off to sleep when Dinesh nudged him awake.

“Hey. We don’t have to do all that … stuff the AIs we’re doing do we?”

“Not if you don’t want to”

“It’s just that I’ve never done anything like that. I don’t know if I’d like it”

“Not even on your own?”

Dinesh shook his head.

Gilfoyle shrugged, “We can try sometime, if you feel like you want to. But we don’t have to. There are plenty of other things to try."

“What about the whole non-monogamy thing?”

Gilfoyle shrugged uncomfortably, “Honestly, I can’t say that it ever went that well with Tara. It was kind of like this thing I liked in theory but not in practice.”

“Oh… really?”

“Yeah, it’s just like, I don’t even know if it makes sense for me to be non-monogamous. It’s not like I really enjoy most people, like at all. And I’ve never pretended to be some kind of polyamorous person who just has so much love to go around that they want to share it with everyone.” Gilfoyle grimaced, “As much as it pains me to admit it, you’re one of the few people I can stand to be around all the time. So I’m not really looking for anyone else.”

Dinesh put his pillow over his face and took a moment to compose himself. He never expected Gilfoyle to either be this honest, or say something so nice to him.

“I’m not going to embarrass you by telling you how sweet that is, but…”

Gilfoyle dug an elbow into his side, “Stop that or I’ll shove you right out of this bed.”

They laid together for a while in silence until something occurred to Dinesh. “Hey, so how much did this project set you back? Those chatbots and the simulations you built were like _really_ good. That must have taken a lot of computing power to train them up to that level, didn’t it?”

Gilfoyle eyed him, “I’m not sure if I should tell you the number.”

Dinesh sat on top of him and threatened to spit on his face until he told him. It wasn’t really that much of a threat, and Gilfoyle wouldn’t really mind if Dinesh spat on him, but Gilfoyle thought he deserved to know the truth. He had also realized that Dinesh liked it when he pretended to be bothered by his teasing, so he went along with it. He liked seeing Dinesh’s stupid smug face when he thought he was pulling one over on Gilfoyle.

“Holy fuck, dude,” Dinesh said when he heard the number, “That’s like, _a lot_ of money.”

“It’s not an insignificant sum.”

“Hang on, where did all that money come from?”

“You know how I got into bitcoin back in 2009, right?”

“Ohhhh, right. Of course. But that means you just had all this money all along? All through the early Pied Piper days when we were in Erlich’s shitbox?”

“Living frugally’s never bothered me.”

“I guess that explains the Dr. Bronner's, huh.”

“Look at it this way. I’ve always had that money set aside for projects. It’s not all gone yet either. There’s still enough to be decent runway for a new project. If you still want to start a company with me. I mean, I would get it if you didn’t want to, after all _this_ , if it makes it too complicated.”

“Fucking idiot. Of course I still want to.”

They settled back down into the bed, limbs entangling with each other in a way that felt natural. Dinesh played with Gilfoyle’s hair a bit, which was something he’d been dying to do forever if he was honest with himself.

He thought for a moment, then said, “That’s like, the cost of more than one Tesla, you know. Or several engagement rings. _And_ a nice wedding.”

“Isn’t it a little early to be joking about marriage? Wasn’t there a simulation about my feelings on marriage?”

“If there was, I didn’t see it. But you can tell me about it if you want.”

So Gilfoyle did.

* * *

The next morning, they made eggs and toast together in the kitchen.

“You know, you never told me much about your childhood,” Dinesh said, “Do you want to tell me about it?”

“You know what,” said Gilfoyle, “I think I do.”

**Notes for the Chapter:**

> Aww, it’s (almost) done! There’s a short epilogue that's going to drop Thursday.


End file.
